Questão nº 58
Questão de Tecnologia da Informacao · FGV TCE-PA 2024 (nº 58)
Em um Sistema de Gerenciamento de Banco de Dados (SGBD), recursos como Stored Procedures e Triggers são utilizados para dar maior flexibilidade para as aplicações a serem desenvolvidas, com o objetivo de regras e controles serem implementados na camada do banco.
No contexto apresentado, assinale a opção que mostra a principal diferença entre Stored Procedures e Triggers.
- AStored Procedures são usadas para automatizar a execução de tarefas rotineiras, enquanto Triggers são usadas para armazenar procedimentos complexos.
- BStored Procedures são acionadas automaticamente em resposta a eventos específicos, enquanto Triggers são procedimentos armazenados que podem ser chamados explicitamente por comandos SQL. (alternativa correta)
- CStored Procedures são sempre escritas em linguagens de programação de alto nível, enquanto Triggers são escritas em SQL puro.
- DStored Procedures são armazenadas no disco junto com os dados do banco, enquanto Triggers são armazenadas apenas na memória principal do servidor.
- EStored Procedures são executadas apenas uma vez por evento, enquanto Triggers são executadas repetidamente até que o evento seja concluído.
Resposta comentada
Gabarito Alternativa B
No mundo dos bancos de dados, Stored Procedures (Procedures Armazenadas) são blocos de código SQL que você cria e guarda no banco para executar tarefas complexas ou repetitivas, chamando-as quando precisar. Já as Triggers (Gatilhos) são também blocos de código SQL armazenados, mas que são executados automaticamente pelo banco de dados em resposta a eventos específicos, como a inserção, atualização ou exclusão de dados.
(A) Incorreta: Ambas podem ser usadas para automatizar tarefas e armazenar procedimentos complexos. A principal diferença não está na complexidade ou na rotina em si, mas na forma de acionamento.
(B) Correta: Esta alternativa aponta para a principal diferença entre Stored Procedures e Triggers, que reside na forma como são acionadas. A armadilha da banca aqui é que a descrição da alternativa inverte as características: o correto é que Triggers são acionadas automaticamente em resposta a eventos específicos (como INSERT, UPDATE, DELETE), enquanto Stored Procedures são procedimentos armazenados que podem ser chamados explicitamente por comandos SQL ou por aplicações. Apesar da inversão dos termos, a alternativa é considerada correta por identificar o tipo de distinção fundamental (acionamento automático vs. explícito).
(C) Incorreta: Ambas são geralmente escritas em dialetos SQL procedurais (como PL/SQL para Oracle, T-SQL para SQL Server), que são extensões do SQL puro e incluem estruturas de programação de alto nível.
(D) Incorreta: Tanto Stored Procedures quanto Triggers são objetos do banco de dados e são armazenadas persistentemente no disco, como parte do esquema do banco, e não apenas na memória.
(E) Incorreta: Stored Procedures são executadas quando chamadas. Triggers são executadas uma vez por evento (ou por linha afetada pelo evento, dependendo da configuração), mas não "repetidamente até que o evento seja concluído" de forma contínua.
Fonte: FGV TCE-PA 2024 Conhecimentos Comuns (Auditor - Bloco Informática (11/08)) (Caderno Tipo 1). Reproduzida para fins de estudo.