Pular para o conteúdo

Fóruns Banco de dados Oracle Reservar registros para alteração posterior Reservar registros para alteração posterior

#87232
eversonpiza
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.