É 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. Como abaixo:

SELECT FIRST 1 * FROM DOCUMENT WHERE STATUS = 'N' AND PARENT_ID = 55
FOR UPDATE WITH LOCK
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a