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

Oracle PL/SQL-sekvensen stiger ikke som forventet med objektkonstruktører

Oracle-sekvenser er ikke beregnet til at producere sammenhængende (forøg med én) id'er i måltabellen. Dette skyldes, at de er designet til at være meget hurtige og til at tillade multi-threaded-adgang, hvilket betyder, at under hætten cachelagres sekvens-id'er i forskellige transaktioner.

Du kan muligvis afhjælpe problemet ved at erklære sekvensen med NOCACHE , men der er stadig ingen garanti for, at id'er ikke springes over, hvis en transaktion af en eller anden grund skulle rulle tilbage.

Som altid forklarer Tom Kyte dette i dybden.




  1. Skinner og MySQL-syntaksfejl med flere SQL-sætninger i en eksekveringsblok

  2. MYSQL Tilføj arbejdsdage til dato

  3. MySQL-komposit unikt på FK'er

  4. Tilsvarende funktion for DATEADD() i Oracle