Pular para o conteúdo principal

Questão de Banco de Dados — SQL Server — VUNESP 2023

Banco de DadosSQL Server
Código
vu078972
Banca
VUNESP
Órgão
TCM-SP
Ano
2023
Nível
Fundamental
Cargo
Auxiliar Técnico de Controle Externo - Técnico de Informática
Considere o seguinte comando para a criação de um trigger no Transact-SQL:CREATE TRIGGER Yellow ON RedAFTER UPDATEAS RAISEERROR (‘Aviso’, 16, 10);Esse comando cria um trigger denominado
  1. AYellow, que é acionado quando algum registro da tabela Red é alterado, gerando uma mensagem de aviso.
  2. BYellow, que é acionado quando algum registro do banco de dados Red é excluído, gerando uma interrupção com um aviso.
  3. CRed, que é acionado quando algum registro da tabela Yellow é alterado, enviando um e-mail ao responsável.
  4. DRed, que é acionado quando alguma tabela do banco de dados Yellow é modificado, enviando um e-mail ao responsável.
  5. ERed, que é acionado quando alguma chave primária da tabela Yellow for alterada, provocando uma parada do banco de dados.
Revelar gabarito e comentário

GabaritoA — Yellow, que é acionado quando algum registro da tabela Red é alterado, gerando uma mensagem de aviso.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Triggers no SQL Server (Transact-SQL)

Gabarito: letra A. O comando CREATE TRIGGER Yellow ON Red AFTER UPDATE AS RAISEERROR ('Aviso', 16, 10); cria um trigger de nome Yellow associado à tabela Red, disparado após uma operação de UPDATE, executando a instrução RAISEERROR que gera uma mensagem de aviso. Portanto, a alternativa que descreve corretamente essas características é a A.

Alternativa A — ✅ Correta ⟵ GABARITO

Afirma que o trigger se chama Yellow, é acionado quando um registro da tabela Red é alterado (UPDATE) e gera uma mensagem de aviso. Perfeito: o nome do trigger é o primeiro identificador após CREATE TRIGGER; a cláusula ON Red define a tabela-alvo; AFTER UPDATE define o evento; e RAISEERROR produz o aviso.

Alternativa B — ❌ Incorreta

Erro duplo: (1) o evento é UPDATE, não DELETE; (2) Red é uma tabela, não um banco de dados. O trigger não é acionado por exclusão e não atua sobre bancos de dados inteiros.

Alternativa C — ❌ Incorreta

Inverte os papéis: o trigger se chama Yellow e é aplicado à tabela Red, e não o contrário. Além disso, não há envio de e-mail – a ação é RAISEERROR.

Alternativa D — ❌ Incorreta

Novamente inverte o nome do trigger (Red) e o alvo (Yellow como se fosse banco de dados). A ação é RAISEERROR, não envio de e-mail.

Alternativa E — ❌ Incorreta

Afirma que o trigger se chama Red, que a tabela é Yellow e que o evento envolve alteração de chave primária. O comando não especifica chave primária nem provoca parada do banco; apenas gera um erro personalizado.

PEGA ESSA DICA!

Para interpretar comandos CREATE TRIGGER no T-SQL, lembre-se da ordem: CREATE TRIGGER [nome] ON [tabela] [momento_evento] [evento] AS [ação]. O nome do trigger vem logo após CREATE TRIGGER; a cláusula ON indica a tabela alvo; AFTER ou INSTEAD OF define o momento; e o evento pode ser INSERT, UPDATE ou DELETE. Fixe essa estrutura e você não errará.

Gabarito: letra A.

Link permanente: /questoes/vu078972