Questão nº 34

Questão de Tecnologia da Informação · FCC TRT19 2022 (nº 34)

FCC2022Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Aver comentário ↓

No PostgreSQL 13 um trigger

Resposta comentada

Gabarito Alternativa A

Um trigger (gatilho) no PostgreSQL é um objeto de banco de dados que executa automaticamente uma função (um bloco de código SQL ou de outras linguagens) sempre que um evento específico (como inserir, atualizar ou deletar dados) ocorre em uma tabela ou view. Ele serve para automatizar tarefas, impor regras de negócio e manter a integridade dos dados.

(A) Correta: Um trigger no PostgreSQL é projetado para chamar uma função definida pelo usuário quando uma operação DML (Data Manipulation Language) como `INSERT`, `UPDATE`, `DELETE` ou `TRUNCATE` é executada em uma tabela. Isso permite que o banco de dados reaja automaticamente a essas modificações.

(B) Incorreta: Esta alternativa é uma armadilha. No PostgreSQL, triggers do tipo `INSTEAD OF` podem ser definidos em views (o que a alternativa chama de "tabela virtual"). Esses triggers são acionados em vez de (instead of) a operação original na view, permitindo que você defina como as modificações na view devem ser traduzidas para as tabelas base. Eles não esperam que a modificação ocorra na tabela real após a modificação na view; eles a interceptam e a gerenciam.

(C) Incorreta: Uma tabela pode ter múltiplos triggers. É comum ter vários triggers para diferentes eventos (ex: um para `INSERT`, outro para `UPDATE`) ou até mesmo múltiplos triggers para o mesmo evento (ex: dois triggers `BEFORE INSERT`), que serão executados em uma ordem definida (por nome ou explicitamente).

(D) Incorreta: Triggers são frequentemente usados para modificar dados, como atualizar colunas de auditoria (`last_modified_date`), manter totalizadores ou replicar dados. Chamar funções que apenas exibem dados não é o propósito principal ou comum de um trigger.

(E) Incorreta: Triggers podem ser acionados tanto para tabelas quanto para views (com `INSTEAD OF` triggers, como mencionado na alternativa B). Além disso, no PostgreSQL, triggers chamam funções, não "procedures" no sentido estrito de algumas outras linguagens SQL (embora PostgreSQL 11 tenha introduzido `SQL PROCEDURES`, triggers ainda são associados a `FUNCTIONS`).

Fonte: FCC TRT19 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho