Vairāk
Kā Oracle sistēmā izveidot id ar AUTO_INCREMENT?
Šķiet, ka Oracle sistēmā līdz 11g versijai ieskaitot nav AUTO_INCREMENT jēdziena.
Kā es varu izveidot kolonnu, kas Oracle 11g darbojas kā automātiskā inkrementācija?
387
3
Oracle sistēmā no Oracle 11g nepastāv kolonnas, piemēram, "auto_increment" vai "identitātes". Tomēr to var viegli modelēt, izmantojot secību un sprūdu:
Tabulas definīcija:
Sprūda definīcija:
ATJAUNINĀJUMS:
IDENTITY
sleja tagad ir pieejama Oracle 12c:vai norādīt sākuma un pieauguma vērtības, arī novēršot jebkuru iestarpinājumu identitātes slejā (
GENERATED ALWAYS
) (atkal tikai Oracle 12c+).Oracle 12 ļauj arī izmantot secību kā noklusējuma vērtību:
Šeit ir trīs garšas:
RAW
datu tips.x
ir identitātes sleja. Katrā piemērā aizstātFOO
ar savas tabulas nosaukumu.update:
Oracle 12c ievieš šos divus variantus, kas nav atkarīgi no trigeriem:
Pirmais izmanto secību tradicionālā veidā, otrais pārvalda vērtību iekšēji.
Pieļauju, ka jūs domājat tādu kolonnu kā SQL Server identitātes kolonna?
Oracle programmā, lai sasniegtu to pašu funkcionalitāti, tiek izmantota SEQUENCE. Es paskatīšos, vai varu atrast labu saiti un ievietot to šeit.
Atjauninājums: izskatās, ka jūs pats to atradāt. Tomēr šeit ir saite: : http://www.techonthenet.com/oracle/sequences.php