Pular para o conteúdo

Criar trigger para todas as tabelas

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar

1. Criar trigger para todas as tabelas

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();

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

2. Re: Criar trigger para todas as tabelas

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.

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder