Vamos lá:

Tabela

numero
nome
status

Select * from tabela
-------------------------
1           JAIR              1
2           Roberto         0
3           José              0

Preciso que em uma consulta concomitante o terminal que pegar o registro 2
passe para status 1 e o segundo terminal pegue o 3.

Acho que é isso.

Muito obrigado


Em 6 de dezembro de 2013 10:52, Fabrízio de Royes Mello <
[email protected]> escreveu:

> On 05-12-2013 16:04, José Mello Júnior wrote:
>
>> Preciso pegar um próximo registro antes de qualquer outro terminal como
>> se fosse uma sequência. Qual o modo de isolamento mais recomendável?
>>
>> SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
>>
>> Esse?
>> Claro, depois dou um SELECT FOR UPDATE altero o status do registros e
>> logo comito a transação.
>>
>>
> Há algum tempo implementei o que vc necessita, veja em [1].
>
> Depois de vc rodar o "my_sequence.sql" em sua base de dados vc utiliza da
> seguinte forma:
>
> fabrizio=# SELECT create_my_sequence('seq');
>  create_my_sequence
> --------------------
>
> (1 row)
>
> fabrizio=# SELECT nextval_my_sequence('seq');
>  nextval_my_sequence
> ---------------------
>                    1
> (1 row)
>
> fabrizio=# SELECT nextval_my_sequence('seq');
>  nextval_my_sequence
> ---------------------
>                    2
> (1 row)
>
>
> Vc pode testar em 2 sessoes abertas e executar dentro de uma transacao
> para testar.
>
> Att,
>
>
> [1] https://dl.dropboxusercontent.com/u/4342654/my_sequence.tar.bz2
>
> --
>    Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
>    PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Mello Júnior
41.3252-3555
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a