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

Responder a