Imagem de fundo

No PostgreSQL como na maioria dos Sistemas Gerenciadores de Bancos de Dados Relacionais...

No PostgreSQL como na maioria dos Sistemas Gerenciadores de Bancos 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 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.


A

A trigger é disparada antes de uma ação de alteração. A trigger é acionada uma única vez quando o comando UPDATE for executado


B

A trigger é disparada caso NEW.coluna1 <> OLD.coluna1. A trigger é disparada para cada linha alterada na tabela


C

A trigger é disparada caso NEW.coluna1 <> OLD.coluna1. A trigger é disparada uma única vez quando for feito um comando UPDATE


D

A trigger é disparada antes de uma ação de alteração. A trigger é disparada para cada linha alterada na tabela