ö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 ALWAYSnem 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 SELECTutasí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 aNOT 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

Articles

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük