Tiago, muito interessante este SELECT FOR UPDATE, ainda não o conheço. Você
poderia me dar um exemplo pratico da utilização dele para o mesmo propósito
que vc informou abaixo?

Obrigado pela ajuda!

Fernando

Em 2 de março de 2011 19:11, Tiago Adami <[email protected]> escreveu:

> Em 2 de março de 2011 16:31, Fabrízio de Royes Mello
> <[email protected]> escreveu:
> >
> > Em 2 de março de 2011 16:22, Fernando Wobeto <[email protected]>
> > escreveu:
> >>
> >> o unico motivo que me fez pensar em usar o LOCK foi por exemplo que um
> >> certo script PHP precise pegar o ultimo codigo +1 em uma tabela.
> >> Após começa a fazer update em outras tabelas usando tal codigo como
> >> referencia e no final de tudo gera realmente um registro na primeira
> tabela
> >> com o codigo.
> >> O problema é que podemos ter em outra estação algum usuário efetuando o
> >> mesmo procedimento, então ele pegaria o mesmo codigo+1 e jogaria nos
> seus
> >> registros esse código.
> >> Qual seria a alterativa fora o LOCK?
> >> Muito obrigado pela presteza.
> >
> > Se vc precisa que o número seja Único e Incremental então utilize
> Sequences
> > [1]
> > [1]
> http://www.postgresql.org/docs/current/interactive/functions-sequence.html
> >
>
> Para complementar e dar uma opção adicional, você pode usar um SELECT
> FOR UPDATE para travar apenas registros.
>
> Há casos de alguns contadores (como os de número de nota fiscal) onde
> nenhum número pode ser perdido. No caso da sequence o número independe
> da transação finalizar com um ROLLBACK ou COMMIT, sempre terá um
> incremento a partir do momento que você obteve o valor com NEXTVAL.
>
> --
> TIAGO J. ADAMI
> http://www.adamiworks.com
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Fernando Wobeto
Desenvolvedor Web
[email protected]
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a