Nao, nao Se quem disparou a trigger foi uma CONTRAINT ou uma outra trigger ----- Original Message ----- From: JotaComm To: Comunidade PostgreSQL Brasileira Sent: Friday, June 26, 2009 5:37 PM Subject: Re: [pgbr-geral] Saber de onde veio o disparo da trigger
Olá, Você quer saber se quem disparou o evento foi uma operação de insert, update ou delete? 2009/6/26 Anderson Aguilar Ferreira <[email protected]> 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 []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
