Questão de Banco de Dados — SQL Server — VUNESP 2023
Banco de Dados›SQL 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
AYellow, que é acionado quando algum registro da tabela Red é alterado, gerando uma mensagem de aviso.
BYellow, que é acionado quando algum registro do banco de dados Red é excluído, gerando uma interrupção com um aviso.
CRed, que é acionado quando algum registro da tabela Yellow é alterado, enviando um e-mail ao responsável.
DRed, que é acionado quando alguma tabela do banco de dados Yellow é modificado, enviando um e-mail ao responsável.
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á.