Pular para o conteúdo principal

Questão de Banco de Dados — Gatilhos (Triggers) — FCC 2020

Banco de DadosGatilhos (Triggers)
Código
fc058940
Banca
FCC
Órgão
AL-AP
Ano
2020
Cargo
Analista Legislativo - Desenvolvedor de Banco de Dados
Triggers ou Gatilhos são comandos (ação) executados automaticamente (um tipo especial de procedimento armazenado) em consequência de uma modificação (evento) que produziu uma restrição (condição) que implique em defeito ou falta de integridade nos dados. É correto afirmar que
  1. Aum trigger é usado com enorme eficiência para impor e manter integridade referencial de alto nível e, também, para ajudar na elaboração de resultados de consultas.
  2. Bum trigger e o evento que o disparou devem ser considerados como uma mesma transação.
  3. Ctriggers são criados utilizando a instrução SQL Generate Trigger, que especifica o Banco onde ele atuará e para que tipo de ocorrência disparará suas ações.
  4. Dos triggers podem ser executados, independentemente dos eventos aos quais foram associados.
  5. Etriggers e Stored Procedures são procedimentos equivalentes; enquanto triggers disparam em função de uma ação, as Stored Procedures são disparadas por eventos temporais.
Revelar gabarito e comentário

GabaritoB — um trigger e o evento que o disparou devem ser considerados como uma mesma transação.

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 (Gatilhos) em Bancos de Dados

Gabarito: letra B. Um trigger (gatilho) e a instrução que o dispara (evento) executam dentro da mesma transação. Isso significa que, se o trigger falhar, a operação que o ativou é desfeita (rollback), garantindo a atomicidade das ações. Esse é um conceito fundamental em bancos de dados relacionais.

Trigger (gatilho)
  • 1Modelo ECA
    • Evento (DML: INSERT/UPDATE/DELETE)
    • Condição (restrição avaliada)
    • Ação (procedimento automático)
  • 2Características
    • Mesma transação do evento
      • Falha → rollback total
    • Automático (não invocável)
    • Criado com CREATE TRIGGER
  • 3Usos típicos
    • Validações
    • Auditoria
    • Propagação de dados
  • 4Não serve para
    • Integridade referencial (→ FK)
    • Consultas (→ views/SP)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Triggers não são projetados primariamente para impor integridade referencial (essa função cabe a foreign keys) nem para elaborar resultados de consultas. Seu uso típico é disparar ações automáticas (validações, auditoria, propagação de dados) em resposta a eventos DML.

Alternativa B — ✅ Correta ⟵ GABARITO

Conforme o modelo ECA (Evento-Condição-Ação), o trigger compartilha a transação do evento disparador. Isso assegura consistência: se a ação do trigger viola alguma restrição, todo o bloco é revertido.

Alternativa C — ❌ Incorreta

A instrução SQL para criar um trigger é CREATE TRIGGER, e não "Generate Trigger". Além disso, a sintaxe especifica a tabela (ou visão) sobre a qual o trigger atua, e não diretamente o "Banco" como unidade.

Alternativa D — ❌ Incorreta

Triggers são, por definição, executados automaticamente apenas quando o evento associado ocorre. Não podem ser invocados de forma independente; seria necessário chamar explicitamente um procedimento armazenado para obter efeito semelhante.

Alternativa E — ❌ Incorreta

Triggers e Stored Procedures não são equivalentes. Stored Procedures são executadas sob demanda por um usuário ou aplicação, enquanto triggers são disparados automaticamente por eventos (DML, DDL, etc.). Triggers não são programados para eventos temporais puros, mas sim para modificações nos dados.

PEGA ESSA DICA!

Nas provas de banco de dados, lembre-se: triggers são procedimentos armazenados que executam dentro da mesma transação do comando que os ativou. É uma das características mais cobradas.

Link permanente: /questoes/fc058940