Oracle
 sql >> Database >  >> RDS >> Oracle

Sequenza Oracle PL/SQL non incrementa come previsto con i costruttori di oggetti

Le sequenze Oracle non sono pensate per produrre ID contigui (incrementi di uno) nella tabella di destinazione. Questo perché sono progettati per essere molto veloci e per consentire l'accesso multi-thread, il che significa che gli ID sequenza vengono memorizzati nella cache in diverse transazioni.

Potresti essere in grado di alleviare il problema dichiarando la sequenza con NOCACHE , ma non vi è ancora alcuna garanzia che gli ID non vengano ignorati se per qualche motivo una transazione dovesse essere annullata.

Come sempre, Tom Kyte spiega questo in profondità.