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
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
