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
