Criar trigger para todas as tabelas

1. Criar trigger para todas as tabelas

Eduardo Rafael Correa de Souza
eduardorcsouza

(usa Debian)

Enviado em 15/04/2015 - 17:09h

Olá,
Eu tenho um trigger e preciso que ela seja disparada quando QUALQUER tabela do banco der um delete.

Trigger

CREATE OR REPLACE FUNCTION delete_data()
RETURNS trigger AS
$BODY$
DECLARE
sql_delete text;
i int;
pkname text;
idval text;
BEGIN
pkname = get_pk(TG_TABLE_NAME);
idval = get_field(OLD, pkname);
sql_delete = 'DELETE FROM '||TG_TABLE_NAME||' WHERE '||pkname||'='||idval;
DELETE FROM tbl_sincronizacao WHERE id = CAST(idval as int);
INSERT INTO tbl_sincronizacao (tabela,id,acao,sql) values (TG_TABLE_NAME,CAST(idval as int),3,sql_delete);
return NEW;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION delete_data()
OWNER TO postgres;

Teria algum tipo de código como esse abaixo?

CREATE TRIGGER delete_data_alldb
BEFORE DELETE
ON ALL DATABASE
FOR EACH ROW
EXECUTE PROCEDURE delete_data();



  


2. Re: Criar trigger para todas as tabelas

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/06/2015 - 01:41h

Também estou com a mesma dúvida.
Você por acaso encontrou algo?


Making the best of a bad situation.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts