Questão de Banco de Dados — Triggers — IBFC 2025
Banco de DadosTriggers
- Código
- qa699023
- Banca
- IBFC
- Órgão
- TJ PE
- Ano
- 2025
- Cargo
- TJ ( )
No PostgreSQL como na maioria dos Sistemas de Gerenciamento de Banco de Dados Relacionais (SGBDR) comerciais do mercado, Triggers são gatilhos que disparam a execução de códigos armazenados no servidor, a partir de eventos. Analise o código PL/pgSQL abaixo. CREATE OR REPLACE FUNCTION log_changes() RETURNS TRIGGER LANGUAGE PLPGSQL AS $$ BEGIN IF NEW.coluna1 <> OLD.coluna1 THEN INSERT INTO audits(id,coluna1,changed_on) VALUES(OLD.id,OLD.coluna1,now()); END IF; RETURN NEW; END; $$ CREATE TRIGGER last_changes BEFORE UPDATE ON Tabela FOR EACH ROW EXECUTE PROCEDURE log_changes(); Diante do exposto, assinale a alternativa correta.
- AOLD e NEW são criados pelo programador. A função armazena o valor antigo, o novo é o estado atual na tabela. A trigger é acionada uma única vez quando o comando UPDATE for executado
- BOLD e NEW são criados internamente quando a função é invocada como trigger. A função armazena o valor antigo e o novo para controle. A trigger é acionada uma única vez quando o comando UPDATE for executado
- COLD e NEW são criados internamente quando a função é invocada como trigger. A função armazena o valor antigo, o novo é o estado atual na tabela. A trigger é acionada para cada linha alterada na tabela
- DOLD e NEW são criados pelo programador. A função armazena o valor antigo, o novo é o estado atual na tabela. A trigger é acionada para cada linha alterada na tabela