Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Sequência Oracle PL/SQL não incrementa conforme o esperado com construtores de objetos


As sequências Oracle não são destinadas a produzir ids contíguos (incremento de um) na tabela de destino. Isso ocorre porque eles são projetados para serem muito rápidos e permitirem acesso multithread, o que significa que, sob o capô, os IDs de sequência são armazenados em cache em diferentes transações.

Você pode aliviar o problema declarando a sequência com NOCACHE , mas ainda não há garantia de que os ids não sejam ignorados se, por algum motivo, uma transação for revertida.

Como sempre, Tom Kyte explica isso em profundidade.