Shrnutí: v tomto tutoriálu, se dozvíte, jak používat Oracle identity sloupce snadno definovat automatický generované číselné sloupce tabulky.

Úvod do Oracle identity sloupec

Oracle 12c představil nový způsob, který umožňuje definovat sloupec identity pro tabulka, které je podobné AUTO_INCREMENT sloupce v MySQL nebo IDENTITY sloupce v SQL Server.

sloupec identity je velmi užitečný pro sloupec náhradních primárních klíčů., Když vložíte nový řádek do sloupce identity, Oracle automaticky generuje a vloží sekvenční hodnotu do sloupce.

definovat sloupec identity, můžete použít identitu doložka, jak je uvedeno níže:

, GENERATED klíčové slovo je povinné.

za Druhé, můžete zadat možnost vytvářet identitu hodnoty:

  • GENERATED ALWAYS: Oracle vždy generuje hodnotu pro sloupec identity. Pokus o vložení hodnoty do sloupce identity způsobí chybu.,
  • GENERATED BY DEFAULT: Oracle generuje hodnotu pro sloupec identity, pokud jste poskytnout žádnou hodnotu. Pokud zadáte hodnotu, Oracle vloží tuto hodnotu do sloupce identity. Pro tuto možnost Oracle vydá chybu, pokud do sloupce identity vložíte hodnotu NULL.
  • GENERATED BY DEFAULT ON NULL: Oracle generuje hodnotu pro sloupec identity pokud zadáte hodnotu NULL nebo vůbec žádnou hodnotu.

za třetí, můžete mít řadu možností pro sloupec identity.,

  • START WITH initial_value řídí počáteční hodnotu pro sloupec identity. Výchozí počáteční hodnota je 1.
  • INCREMENT BY internval_value definuje interval mezi generovanými hodnotami. Ve výchozím nastavení je hodnota intervalu 1.
  • CACHE definuje řadu hodnot, které by Oracle měl předem generovat, aby zlepšil výkon. Tuto možnost používáte pro sloupec, který má vysoký počet vložek.

příklady sloupců identity Oracle

Vezměme si několik příkladů použití sloupců identity Oracle.,

) GENEROVANÉ VŽDY příklad

následující příkaz vytvoří tabulku s názvem identity_demo, který se skládá z identity sloupce:

následující prohlášení vloží nový řádek do identity_demo tabulka:

Protože jsme nezadali hodnotu pro id sloupce, Oracle automaticky generované sekvenční hodnoty počínaje 1.,

následující prohlášení, pokusí vložit hodnoty do id sloupce identity:

Oracle vydal chyba:

Protože sloupec id byla definována jako GENERATED ALWAYS, to nelze akceptovat u všech uvedených hodnot.,

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.,

následující prohlášení vloží nový řádek do identity_demo tabulka s poskytnutou hodnotu pro id sloupce:

V tomto příkladu, Oracle používá získané hodnoty a vloží je do tabulky.,První, obnoví identity_demo tabulky, jejichž id sloupec je definován jako sloupec identity s počáteční hodnotou začíná od 100:

za Druhé, vložit řádek do identity_demo tabulka:

za Třetí, data dotazu z identity_demo tabulky:

Jak můžete vidět, počáteční hodnota id sloupce je 100, jak je uvedeno v klauzule identity.,

E) ZVÝŠIT O možnost příklad

za Prvé, změnit sloupec id identity_demo tabulka, která zahrnuje jak START WITH INCREMENT BY možnosti.

za Druhé, vložit dva řádky do identity_demo tabulky:

za Třetí, data dotazu z tabulky ověřit vložky:

Jak můžete vidět, první řádek má hodnotu id 10. Druhý řádek má id hodnotu 20., To je to, co jsme definovali pro sloupec id, který by měl začít s 10 a zvýšit o 10 pro nový řádek.

omezení sloupce identity Oracle

sloupce identity podléhají následujícím omezením:

  • každá tabulka má jeden a pouze jeden sloupec identity.
  • datový typ sloupce identity musí být číselný datový typ. datový typ definovaný uživatelem nesmí být používán s doložkou totožnosti.
  • sloupec identity není zděděn příkazem CREATE TABLE AS SELECT.,
  • sloupec identity nemůže mít jinéDEFAULT omezení.
  • šifrovací algoritmus pro šifrované sloupce identity lze odvodit, proto byste měli použít silný šifrovací algoritmus.
  • inline omezení pro sloupec identity nesmí být v rozporu s NOT NULL NOT DEFERRABLE omezení uvedl identity doložky.

v tomto tutoriálu jste se naučili používat sloupec identity Oracle, který vám umožní snadno definovat automaticky generovaný číselný sloupec pro tabulku.,

  • byl tento tutoriál užitečný?
  • YesNo

Articles

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *