Procura

Banco de dadosOracle


EXERCÍCIOS - Exercício 1

  • (FAURGS 2018)

Considere a tabela EMPREGADOS e o gatilho definidos abaixo usando a sintaxe PL/SQL do Oracle.
create table EMPREGADOS (codEmp integer not null primary key, nome varchar(40) not null, salario numeric(8,2) check (salario > 0), codGerente integer, foreign key (codGerente) references EMPREGADOS, constraint EmpGer check(codEmp != codGerente ));
create or replace trigger GATILHO1 after insert or update of salario on empregados declare vcount integer; begin select count(*) into vcount from empregados e, empregados g where e.codGerente = g.codemp and e.salario >= g.salario; if vcount > 0 then raise_application_error(-20001, 'Erro’); end if; end;
Suponha que o modo auto-commitde execução esteja ativado, e, portanto, cada comando em isolado corresponde a uma transação. Considere a sequência de comandos SQL abaixo.
(1) insert into empregados values (1, ‘joao’, 2000, null); (2) insert into empregados values (2, ‘paulo’, 500, 1); (3) insert into empregados values (3, ‘maria’, 3500, null); (4) update empregados set codGerente = 1, salario = 3000 where codEmp = 3; (5) insert into empregados values (4, 'pedro', 3300, 3);
Usando-se os números dos comandos SQL acima, qual sequência de comandos SQL será executada sem falhas (isto é, sequência dos comandos que serão confirmados na base de dados)?


A) 1, 2, 3, 4

B) 1, 2

C) 1, 2, 3, 4, 5

D) 1, 2, 3, 5

E) 1, 2, 3


Próximo:
EXERCÍCIOS - Exercício 2

Tente Este: Exercício 6

VOLTAR ao índice: Banco de dados






Cadastre-se e ganhe o primeiro capítulo do livro.
+
((ts_substr_ig=0.00ms))((ts_substr_id=3.03ms))((ts_substr_m2=0.00ms))((ts_substr_p2=0.51ms))((ts_substr_c=0.84ms))((ts_substr_im=1.01ms))
((total= 5ms))