Em 19 de agosto de 2015 09:13, Dickson S. Guedes <[email protected]>
escreveu:

> Em 19 de agosto de 2015 00:28, Danilo Silva
> <[email protected]> escreveu:
> > Pessoal,
> >
> > Considerando:
> > pedido | item
> >      1    |  ABC
> >      1    |  XYZ
> >      2    |  XPTO
> >
> > Tenho uma rotina de integração onde, para cada item do pedido, eu preciso
> > indicar o recebimento do pedido, sendo efetuado um update na tabela de
> > pedidos dizendo que aquele pedido foi recebido.
> >
> > Terei que utilizar uma trigger para isso e a minha dúvida é:
> > Para cada insert na tabela de itens efetuar o update da tabela de pedidos
> > OU
> > Para cada insert na tabela de itens, fazer um select na tabela de pedidos
> > para saber se o pedido já foi recebido, e caso não tenha sido recebido,
> > efetuar o update.
> >
> > Creio que efetuar o select antes será melhor para evitar os "buracos"
> que o
> > update causa e assim diminuir as ações do autovacuum na tabela de
> pedidos.
>
> Não respondendo diretamente sua pergunta mas apenas salientando que você
> pode testar no próprio UPDATE, antes de fazer o SELECT, algo como:
>
>     UPDATE pedidos SET recebido = true WHERE codigo_pedido = XYZ AND
> NOT recebido;
>
> ​Putz, é verdade, caraca esqueci que posso fazer desta forma, deve ter
sido o horário :)
​Valeu...

[]s
Danilo​
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a