Pular para o conteúdo principal

Questão de Banco de Dados — Oracle — FAURGS 2018

Banco de DadosOracle
Código
qq336318
Banca
FAURGS
Órgão
BANRISUL
Ano
2018
Nível
Superior
Cargo
Administração de Bancos de Dados
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 GATILHO1after insert or update of salario on empregadosdeclare vcount integer;beginselect count(*) into vcountfrom empregados e, empregados gwhere e.codGerente = g.codempand e.salario >= g.salario;if vcount > 0then raise_application_error(-20001, 'Erro’);end if;end;Suponha que o modo auto-commit de 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)?
  1. A1, 2, 3, 4
  2. B1, 2
  3. C1, 2, 3, 4, 5
  4. D1, 2, 3, 5
  5. E1, 2, 3
Revelar gabarito e comentário

GabaritoD — 1, 2, 3, 5

Link permanente: /questoes/qq336318