Claro, só pode! Então não é o que chama de "ligações circulares". "A" actualiza "B" mas "B" logo que é actualizado, vai actualizar "A" e nunca mais saímos daqui, porque as actualizações "disparam" os "gatilhos". Agora não percebi a necessidade de fazer assim. Para ultrapassar este "loop" se fosse você experimentava por o campo:“Quantidade Atual” (+ um campo ID) numa 3.ª tabela actualizável pelos gatilhos de qualquer das duas primeiras e retirava os gatilhos que fazem actualizações reciprocas. Porém, esta 3.ª tabela não pode fazer essas "actualizações" deve limitar-me a recebe-las. Tem um problema, você tem de fazer mais um acesso. E, daí? O Posgres resolve isso para V. num àpice. Nas consultas/validações V. pode construir uma view que lhe permite ter sempre on line “Quantidade Atual” quer de produtos quer de "Matéria Prima".
Com os meus melhores cumprimentos O Secretário Geral da ACRA Mário Agostinho Reis Esta mensagem contém informação de natureza confidencial e é exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano, receber este email agradecemos que não o copie nem o reenvie e que nos notifique do ocorrido através do email de resposta. No dia 8 de Setembro de 2014 às 19:59, Ricardo <rica...@longomaquinas.com> escreveu: > Boa tarde pessoal, > > Estou enrolado em achar um solução via trigger para este caso. > > Tenho duas tabelas, uma denominada “Produtos” e outra “Matéria Prima” > com o campo “Quantidade Atual”. > > Sempre que ocorre uma saída de produtos ocorre o gatilho em uma > trigger que faz a atualização do valor em “Quantidade Atual” na tabela > “Produtos”e o mesmo ocorre quando há uma saída de matéria prima na tabela > “Matéria Prima”. > > Porem tem um campo na tabela “Produtos” onde pode ser amarrado uma > “Matéria Prima”. Sendo assim se ocorrer uma saída de produtos, além de > fazer atualização da “Quantidade Atual” na tabela “Produtos” tem que fazer > na tabela “Matéria Prima” também. E se ocorrer uma saída na tabela “Matéria > Prima” tem que atualizar a “Quantidade Atual” nas duas tabelas também. > O problema é que quando é executado o trigger que faz o update de uma > tabela, essa tabela executa um trigger para atualizar a outra e fica em um > loop infinito. > > Não sei se o melhor caminho é criar um campo como semáforo, fico com > receio desse semáforo travar e não ocorrer mais atualizações. > > Abraços > Ricardo > > _______________________________________________ > 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