2013/5/7 izaque Maciel <[email protected]>

> É o seguinte, é um sistema onde será requisitado a todo momento uma
> sequência numérica, e tenho que garantir que dois usuários do sistema não
> peguem o mesmo registro, ele deve aguardar que o registro selecionado
> anteriormente seja utilizado ou desbloqueado pela seleção anterior, sendo
> que, se num select utilizei o registro 7, então o outro usuário que fizer
> um select só poderá pegar a 8, ou a 7 se ela já foi desbloqueada e não
> utilizada. Utilizarei para um sistema de controle de selo, então, nunca
> dois usuários podem utilizar o mesmo selo, um problema de concorrência.
> Como expliquei na primeira mensagem, no Firebird fazia com "With lock" e
> então o select de outro usuário aguardava o usuário utilizar o registro
> selecionado anteriormente ou devolver o registro selecionado.
>


Uma questão importante... essa sua numeração de selos pode haver falhas???
Se não tiver problemas que vc tenha numerações desse tipo: 1, 2, 4, 7, 9,
10, 11, 15... então vc pode usar sequences [1]

Agora se não podem haver falhas, da mesma forma que acontece com Notas
Fiscais, então vc faz isso justamente com SELECT ... FOR UPDATE... vc leu o
link enviado anteriormente pelo Osvaldo???

Att,


[1] http://www.postgresql.org/docs/current/static/sql-createsequence.html

-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
>> Twitter: http://twitter.com/fabriziomello
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a