Questão de Banco de Dados — Gatilhos (Triggers) — FGV 2026
Banco de Dados›Gatilhos (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.
AStored Procedure
BView Materializada
CTrigger AFTER INSERT
DFunção
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
1Evento disparadorINSERT em CONTA_CORRENTE
2Momento de execuçãoAFTER (após a inserção)
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).