Vou colocar um exemplo mais detalhado.
Tenho uma tabela chamada CLIENTE com os seguintes campos codcli, razao e
fantasia.
Tenho também a tabela CLIENDERECOS com os seguintes campos codcli, seqendereco,
logradouro, numero, complemento, ...
A tabela CLIENDERECOS tem o seguinte relacionamento com a tabela CLIENTE.
ALTER TABLE clienderecos
ADD CONSTRAINT nome_qualquer FOREIGN KEY (codcli)
REFERENCES cliente(codcli) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE;
e também tenho a seguinte trigger na tabela CLIENDERECOS.
CREATE TRIGGER log_clienderecos
AFTER INSERT OR UPDATE OR DELETE
ON agendaaltprecitem
FOR EACH ROW
EXECUTE PROCEDURE armazenar_log();
quando executo o seguinte comando:
UPDATE cliente SET codcli = 2 WHERE codcli = 1;
O banco irá executar a trigger, pois a CONSTRAINT irá alterar o codcli na
tabela CLIENDERECOS.
O que eu gostaria de saber, é se o PostgreSQL tem algum parâmetro que me
informa que quem disparou a TRIGGER log_clienderecos foi a CONSTRAINT
nome_qualquer.
----- Original Message -----
From: JotaComm
To: Comunidade PostgreSQL Brasileira
Sent: Friday, June 26, 2009 4:38 PM
Subject: Re: [pgbr-geral] Saber de onde veio o disparo da trigger
Opa,
Não consegui entender o que você deseja :(
2009/6/26 Anderson Aguilar Ferreira <[email protected]>
Boa tarde pessoal
Será que alguém sabe se o PostgreSQL tem algum parâmetro que informa de
onde a trigger foi disparada ??
Exemplo:
Faço a alteração na chave de relação de uma tabela PAI. Automaticamente,
por causa da FOREIGN KEY que relaciona as tabelas filhas com esta PAI, sera
feito a alteração da chave nas tabelas filhas também. Caso as tabelas filhas
tenha TRIGGERs, será executado no ato da alteração, por exemplo: trigger que
armazena log de alterações, entre outras.
O que eu gostaria de saber é se o PostgreSQL tem algum parâmetro de TRIGGER
que informa que a trigger da tabela filha está sendo disparada por uma FOREIGN
KEY(relacionamento) ou por alguma tabela, ou por alguma outra trigger ???
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[]s
--
JotaComm
http://jotacomm.wordpress.com
http://www.dextra.com.br/postgres
------------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral