összefoglaló: ebben az oktatóanyagban megtudhatja, hogyan használhatja az Oracle identity oszlopot a táblázat automatikus generált numerikus oszlopának egyszerű meghatározásához.
Bevezetés Az Oracle identity oszlopba
Az Oracle 12c új módszert vezetett be, amely lehetővé teszi egy táblázat azonossági oszlopának meghatározását, amely hasonló aAUTO_INCREMENT
oszlophoz A MySQL-ben vagyIDENTITY
oszlopban az SQL Serverben.
az identity oszlop nagyon hasznos a helyettesítő elsődleges kulcs oszlophoz., Amikor új sort helyez be az identity oszlopba, az Oracle automatikusan generál egy szekvenciális értéket az oszlopba.
egy identitás oszlop meghatározásához az alábbi identitás záradékot használja:
először a GENERATED
kulcsszó kötelező.
másodszor megadhat egy identitásértékek generálásának lehetőségét:
-
GENERATED ALWAYS
: az Oracle mindig létrehoz egy értéket az identitás oszlophoz. Ha megpróbál egy értéket beilleszteni az identitás oszlopba, hibát okoz., -
GENERATED BY DEFAULT
: az Oracle értéket generál az azonosító oszlophoz, ha nem ad meg értéket. Ha értéket ad meg, az Oracle ezt az értéket beilleszti az identity oszlopba. Ehhez az opcióhoz az Oracle hibát fog kiadni, ha NULL értéket helyez be az identity oszlopba. -
GENERATED BY DEFAULT ON NULL
: az Oracle értéket generál az identity oszlophoz, ha NULL értéket ad meg, vagy egyáltalán nem.
harmadszor, számos lehetőség van az identitás oszlopra.,
-
START WITH initial_value
szabályozza az identitás oszlophoz használandó kezdeti értéket. Az alapértelmezett kezdeti érték 1. -
INCREMENT BY internval_value
meghatározza a generált értékek közötti intervallumot. Alapértelmezés szerint az intervallum értéke 1. -
CACHE
számos olyan értéket határoz meg, amelyeket az Oracle-nek előzetesen generálnia kell a teljesítmény javítása érdekében. Ezt a lehetőséget használja a nagy számú betéttel rendelkező oszlophoz.
Oracle identity oszlop példák
Vegyünk néhány példát az Oracle identity oszlopok használatára.,
A) GENERÁLT MINDIG példa
A következő kijelentés létrehoz egy táblázatot nevű identity_demo
áll, hogy egy identitás oszlop:
A következő nyilatkozatot beszúr egy új sort a identity_demo
táblázat:
Mert nem ad meg értéket a id
oszlop, Oracle automatikusan generált egy szekvenciális érték 1-től kezdődően.,
/div>identity column:
az Oracle hibát adott ki:
mivel az id oszlopotGENERATED ALWAYS
nem tudta elfogadni a megadott értéket.,
B) GENERATED BY DEFAULT example
Let’s change the id
column to GENERATED BY DEFAULT
:
The following statement inserts a new row into the identity_demo
table:
It worked as expected.,
a következő utasítás új sort helyez be aidentity_demo
táblába, aid
oszlop:
oszlopba.,Először is, újrateremti a identity_demo
asztal, akinek a id
oszlop határozza meg, mint a személyi oszlop a kezdeti érték kezdődik 100:
Második, helyezzen be egy sorban be, hogy a identity_demo
táblázat:
a Harmadik, lekérdezés adatai a identity_demo
táblázat:
Mint látható, a kezdeti értékét a id
oszlop 100 pontjában meghatározott személyazonosító záradék.,
E) növekmény opció példával
először módosítsa a identity_demo
táblázat id oszlopát, amely tartalmazza mind a START WITH
és INCREMENT BY
opciók.
második, illesszen be két sort a identity_demo
táblázat:
harmadik, lekérdezési adatok a táblázatból, hogy ellenőrizze a betétek:
mint látható, az első sor azonosító értéke 10. A második sor azonosító értéke 20., Ezt határoztuk meg az id oszlophoz, amelynek 10-gyel kell kezdődnie, az új sor esetében pedig 10-gyel kell növekednie.
Oracle identity column restrictions
az identity columns are subject to the following restrictions:
- minden táblázatnak van egy és csak egy identity oszlopa.
- az azonosító oszlop adattípusának numerikus adattípusnak kell lennie. a felhasználó által definiált adattípus nem használható az identity záradékkal.
- az identitás oszlopot nem a
CREATE TABLE AS SELECT
utasítás örökli., - az identitás oszlop nem lehet egy másik
DEFAULT
kényszer. - a titkosítási algoritmus titkosított identitás oszlopok lehet következtetni, ezért kell használni egy erős titkosítási algoritmus.
- az identitás oszlop inline-korlátja nem ütközhet a
NOT NULL
ésNOT DEFERRABLE
kényszer által meghatározott identitás záradék.
ebben az oktatóanyagban megtanulta, hogyan kell használni az Oracle identity oszlopot, amely lehetővé teszi egy asztal automatikus generált numerikus oszlopának egyszerű meghatározását.,
- hasznos volt ez a bemutató?
- YesNo