Em Ter, 2013-05-07 às 09:43 -0300, Fabrízio de Royes Mello escreveu:
> 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???



A questão é que se eu faço um SELECT FOR UPDATE no registro X numa
sessão, você (em qualquer outra sessão) vai conseguir executar um SELECT
"normal" no mesmo registro X, e pelo que entendi é este impeditivo que o
Izaque quer.


[]s
-- 
Dickson S. Guedes
mail/xmpp: [email protected] - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br
http://www.rnp.br/keyserver/pks/lookup?search=0x8F3E3C06D428D10A

Attachment: signature.asc
Description: This is a digitally signed message part

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

Responder a