Oracle
 sql >> Base de données >  >> RDS >> Oracle

La séquence Oracle PL/SQL ne s'incrémente pas comme prévu avec les constructeurs d'objets

Les séquences Oracle ne sont pas destinées à produire des identifiants contigus (incrémentés de un) dans la table cible. En effet, ils sont conçus pour être très rapides et pour permettre un accès multithread, ce qui signifie que sous le capot, les identifiants de séquence sont mis en cache dans différentes transactions.

Vous pourrez peut-être atténuer le problème en déclarant la séquence avec NOCACHE , mais il n'y a toujours aucune garantie que les identifiants ne soient pas ignorés si, pour une raison quelconque, une transaction devait être annulée.

Comme toujours, Tom Kyte explique ceci en profondeur.