sql >> Databasteknik >  >> RDS >> Oracle

Oracle PL/SQL-sekvensen ökar inte som förväntat med objektkonstruktörer

Oracle-sekvenser är inte avsedda för att producera sammanhängande (öka med ett) ID i måltabellen. Detta beror på att de är designade för att vara mycket snabba och för att tillåta åtkomst med flera trådar, vilket innebär att under huven cachelagras sekvens-ID:er i olika transaktioner.

Du kanske kan lindra problemet genom att deklarera sekvensen med NOCACHE , men det finns fortfarande ingen garanti för att ID inte hoppas över om en transaktion av någon anledning skulle återställas.

Som alltid förklarar Tom Kyte detta på djupet.




  1. Mysql datetime DEFAULT CURRENT_TIMESTAMP-fel

  2. BigQuery/SQL - Dela värde på specifika varianter

  3. Bryter Oracles EXTRACT-funktion NOENTITYESCAPING i XMLELEMENT?

  4. nvarchar-konkatenering / index / nvarchar(max) oförklarligt beteende