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 <[email protected]>
> *To:* Comunidade PostgreSQL Brasileira<[email protected]>
> *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

Responder a