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

Responder a