Pular para o conteúdo principal

Questão de Banco de Dados — Gatilhos (Triggers) — CESGRANRIO 2006

Banco de DadosGatilhos (Triggers)
Código
cg025124
Banca
CESGRANRIO
Órgão
DECEA
Ano
2006
Nível
Médio
Cargo
Técnico de Defesa Aérea e Controle de Tráfego Aéreo - Análise de Sistemas
Suponha um banco de dados com uma tabela FUNCIONARIO contendo os campos cod_func (chave primária), nome, salario. Para impedir que o valor do campo salario em uma linha sofra modificação, um trigger pode ser criado com o seguinte script SQL (ANSI SQL99).
  1. Acreate trigger TR_BLOQUEIOSALARIO.FUNCIONARIOfor updateasif update (salario)beginfuncionario.salario=updated.oldValuestopend
  2. Bcreate trigger TR_BLOQUEIOSALARIOon FUNCIONARIOfor updateasif update (salario)beginrollback transactionend
  3. Ccreate trigger TR_BLOQUEIOSALARIOon FUNCIONARIO.salariofor update (cod_func)beginrollback transactionend
  4. Dcreate trigger TR_BLOQUEIOSALARIO.FUNCIONARIO.salariofor update (cod_func)asbegincommit transactionend
  5. Ecreate trigger TR_BLOQUEIOSALARIOon FUNCIONARIOfor updatebeginfuncionario.salario=updated.oldValuestopend
Revelar gabarito e comentário

GabaritoB — create trigger TR_BLOQUEIOSALARIO on FUNCIONARIO for update as if update (salario) begin rollback transaction end

Link permanente: /questoes/cg025124