Pular para o conteúdo principal

Questão de Banco de Dados — Gatilhos (Triggers) — FGV 2026

Banco de DadosGatilhos (Triggers)
Código
fg127344
Banca
FGV
Órgão
AL-RO
Ano
2026
Nível
Superior
Cargo
Analista Legislativo (Tecnologia da Informação - Banco de Dados)
Um sistema bancário exige que, sempre que um INSERT for realizado na tabela CONTA_CORRENTE, um registro automático de saldo inicial zero seja criado na tabela SALDO.Assinale a opção que identifica e descreve a finalidade do recurso de programação de servidor mais adequado para garantir essa ação automática.
  1. AStored Procedure
  2. BView Materializada
  3. CTrigger AFTER INSERT
  4. DFunção
  5. EConstraint CHECK
Revelar gabarito e comentário

GabaritoC — Trigger AFTER INSERT

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”.

Gatilhos (Triggers) – Automação de ações no banco de dados

Gabarito: letra C. Uma trigger AFTER INSERT é o recurso de programação de servidor mais adequado, pois é executada automaticamente sempre que um comando INSERT ocorre em uma tabela, permitindo criar um saldo inicial zero na tabela SALDO sem intervenção manual.

A banca testa o conhecimento sobre os recursos de banco de dados e suas finalidades. Uma trigger é um bloco de código associado a uma tabela que dispara automaticamente mediante um evento (INSERT, UPDATE, DELETE). O tempo AFTER determina que a ação ocorra após a operação principal, garantindo que o registro já exista. Conforme descrito no material de apoio: "Trigger é um tipo especial de procedimento armazenado, que é executado sempre que há uma tentativa de modificar os dados de uma tabela que é protegida por ele" e "AFTER executa depois do evento".

Recurso

Finalidade

Disparo Automático?

Adequado para a Ação?

Stored Procedure

Bloco de código executado sob demanda

Não

❌ Não, pois exige chamada explícita

View Materializada

Tabela física de consulta, atualizável periodicamente

Não (apenas refresh)

❌ Não, pois não gera registros automaticamente

Trigger AFTER INSERT

Código executado automaticamente após INSERT

Sim

✅ Sim, ideal para criar saldo inicial zero

Função

Retorna valor escalar ou tabela; geralmente não modifica dados

Não

❌ Não, pois não é disparada automaticamente

Constraint CHECK

Restrição de integridade em colunas

Não (apenas valida)

❌ Não, pois não insere registros

  1. 1Evento disparadorINSERT em CONTA_CORRENTE
  2. 2Momento de execuçãoAFTER (após a inserção)
  3. 3Ação automáticaCria saldo zero em SALDO
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Stored Procedure (procedimento armazenado) é um bloco de código que pode ser executado sob demanda, mas não é disparado automaticamente por um evento. Para automatizar a ação descrita, seria necessário chamá-la explicitamente após cada INSERT, o que não atende ao requisito de "sempre que um INSERT for realizado" sem intervenção.

Alternativa B — ❌ Incorreta

View Materializada é uma tabela física que armazena o resultado de uma consulta, podendo ser atualizada periodicamente, mas não executa ações automáticas em resposta a INSERT. Seu propósito é melhorar desempenho de consultas, não gerar novos registros automaticamente.

Alternativa C — ✅ Correta ⟵ GABARITO

Trigger AFTER INSERT é o recurso ideal: define-se uma trigger na tabela CONTA_CORRENTE que, após cada inserção, executa um comando INSERT na tabela SALDO com o saldo inicial zero. Exemplo de sintaxe: CREATE TRIGGER trg_insert_saldo AFTER INSERT ON CONTA_CORRENTE FOR EACH ROW ....

Alternativa D — ❌ Incorreta

Função (function) retorna um valor escalar ou tabela, mas não pode realizar operações de modificação de dados (INSERT/UPDATE/DELETE) em muitos SGBDs (a menos que seja declarada como procedimento, o que não é o caso). Mesmo que possível, não é disparada automaticamente por um evento DML.

Alternativa E — ❌ Incorreta

Constraint CHECK é uma restrição que valida dados antes de permitir a inserção ou atualização, mas não pode criar novos registros em outra tabela. Serve apenas para garantir a integridade dos dados na própria coluna ou tabela.

PEGA ESSA DICA!

Para ações automáticas em resposta a eventos (INSERT, UPDATE, DELETE), lembre-se sempre de triggers. Elas são a ferramenta padrão para propagar alterações ou manter histórico. Diferencie: triggers AFTER executam após o evento, triggers BEFORE executam antes (úteis para validações).

Gabarito: letra C.

Link permanente: /questoes/fg127344