› Fóruns › Banco de dados Oracle › Reservar registros para alteração posterior › Reservar registros para alteração posterior
9 de junho de 2009 às 4:24 pm
#87232
Participante
Quando uma loja reserva uma quantidade de números, eles tem que ser sequenciais?
Se não, minha sugestão é a seguinte.
1-Fazer o lock de apenas um registro.
“select * from tabela where PT_LOJA is null and rownum = 1 FOR UPDATE NOWAIT”.
2-Fazer o update colocando o valor em PT_LOJA
3-Quardar o número reservado
4-Ficar em um loop até terminar a quantidade solicitada
5-dar commit.
6-Retornar todos os reservados.
No passo 1, vc faria um tratamento da exception, e quando o registro estiver locado, vc parte para o próximo, e assim por diante.