Faleu Giovane, muito obrigado pela atenção. Vou fazer os testes aqui e retorno na lista o resultado.
----- Original Message ----- From: "Marcelo Giovane" <nrhce...@teleon.com.br> To: "Comunidade PostgreSQL Brasileira" <pgbr-geral@listas.postgresql.org.br> Sent: Monday, June 29, 2009 10:23 AM Subject: Re: [pgbr-geral] Saber de onde veio o disparo da trigger Bom dia amigo, uma trigger sempre trabalha com uma função, correto!? Então, é só criar uma função que obtenha a propriedade TG_RELNAME que é automaticamente enviada para a mesma quando do evento de inserção, atualização ou exclusão. De posse desse nome, as possibilidade são muitas. Você pode inserir a mesma em uma tabela temporária, etc. ou, como eu, apenas ser notificado do evento na tabela. A trigger abaixo chama a função de nome notificação() para a tabela de nome usuario. Na oportunidade é possível obter o nome da tabela com a propriedade TG_RELNAME. Por sua vez, a função de notificação (que deve ser criada primeiro) envia uma notificação com o nome da tabela. "CREATE OR REPLACE FUNCTION notificacao() RETURNS TRIGGER AS $$ BEGIN EXECUTE 'NOTIFY ' || TG_RELNAME; RETURN NULL; END; $$ LANGUAGE PLPGSQL" 'CREATE TRIGGER tusuario AFTER INSERT OR UPDATE OR DELETE ON usuario FOR EACH ROW EXECUTE PROCEDURE notificacao()' Assim, quando entro numa determinada rotina, disparo um LISTEN e, de tempos em tempos, verifico as notificações recebidas. Se o nome da tabela estiver relacionado, aviso o usuário de que a tabela foi atualizada e ele deve "atualizar" os dados visualizados. Você pode fazer isso lendo o catálogo pg_listener também. Dê uma olhada em LISTEN e NOTIFY. MarceloG PS: se for ler o pg_listener, não se esqueça de observar se o PID do processo notificante não é o mesmo. ----- Original Message ----- From: "Anderson Aguilar Ferreira" <ander...@pchelpmaringa.com.br> To: "Comunidade PostgreSQL Brasileira" <pgbr-geral@listas.postgresql.org.br> Sent: Monday, June 29, 2009 8:16 AM Subject: Re: [pgbr-geral] Saber de onde veio o disparo da trigger Bom dia Euler. Eu sei sim o conceito de TRIGGER. E o que eu queria nao e qual operacao ativou a trigger e sim de onde ela foi ativada. E ja sabia que isto nao tem no PostgreSQL, mas nao custa nada perguntar. E antes de responder da maneira que vc respondeu, entenda primeira a pergunta, Sr. Sabe Tudo. Mas mesmo assim, muito obrigado pela atencao de todos. ----- Original Message ----- From: "Euler Taveira de Oliveira" <eu...@timbira.com> To: "Comunidade PostgreSQL Brasileira" <pgbr-geral@listas.postgresql.org.br> Sent: Sunday, June 28, 2009 2:01 PM Subject: Re: [pgbr-geral] Saber de onde veio o disparo da trigger Anderson Aguilar Ferreira escreveu: [corte as suas mensagens...] > 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. > Restrição (aka _constraint_) *não* dispara gatilho. Você não entendeu o conceito de gatilhos [1][2]. Eles são associados a tabelas somente. E o que você quer é que o Osvaldo já disse: utilize TG_* [3]. [1] http://www.postgresql.org/docs/8.3/static/triggers.html [2] http://www.postgresql.org/docs/8.3/static/sql-createtrigger.html [3] http://www.postgresql.org/docs/8.3/static/plpgsql-trigger.html -- Euler Taveira de Oliveira http://www.timbira.com/ _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -------------------------------------------------------------------------------- Nenhum vírus encontrado nessa mensagem recebida. Verificado por AVG - www.avgbrasil.com.br Versão: 8.5.375 / Banco de dados de vírus: 270.12.94/2208 - Data de Lançamento: 06/29/09 05:54:00 _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral