sql >> Base de Datos >  >> RDS >> Oracle

La secuencia Oracle PL/SQL no se incrementa como se esperaba con los constructores de objetos

Las secuencias de Oracle no están diseñadas para producir identificadores contiguos (incrementos en uno) en la tabla de destino. Esto se debe a que están diseñados para ser muy rápidos y permitir el acceso de subprocesos múltiples, lo que significa que, bajo el capó, los identificadores de secuencia se almacenan en caché en diferentes transacciones.

Es posible que pueda aliviar el problema declarando la secuencia con NOCACHE , pero aún así no hay garantía de que las identificaciones no se omitan si, por alguna razón, una transacción se revirtiera.

Como siempre, Tom Kyte explica esto en profundidad.