rezumat: în acest tutorial, veți învăța cum să utilizați coloana identitate Oracle pentru a defini cu ușurință o coloană numerică generată automat pentru un tabel.

Introducere in Oracle coloană de identitate

Oracle 12c a introdus un nou mod care vă permite să definiți o coloană de identitate pentru o masă, care este similar cu AUTO_INCREMENT coloană în MySQL sau IDENTITY coloană în SQL Server.

coloana identitate este foarte utilă pentru coloana cheie primară surogat., Când inserați un rând nou în coloana identitate, Oracle generează automat și introduce o valoare secvențială în coloană.

Pentru a defini o coloană de identitate, utilizați identitatea clauza conform figurii de mai jos:

în Primul rând, GENERATED cuvânt cheie este obligatorie.

În al doilea rând, puteți specifica o opțiune pentru a genera valori de identitate:

  • GENERATED ALWAYS: Oracle generează întotdeauna o valoare pentru coloana identitate. Încercarea de a insera o valoare în coloana de identitate va cauza o eroare.,
  • GENERATED BY DEFAULT: Oracle generează o valoare pentru coloana identitate dacă nu oferiți nicio valoare. Dacă furnizați o valoare, Oracle va insera acea valoare în coloana identitate. Pentru această opțiune, Oracle va emite o eroare dacă introduceți o valoare nulă în coloana identitate.
  • GENERATED BY DEFAULT ON NULL: Oracle generează o valoare pentru coloana identitate dacă furnizați o valoare nulă sau nicio valoare.în al treilea rând, puteți avea o serie de opțiuni pentru coloana identitate.,

    • START WITH initial_value controlează valoarea inițială de utilizat pentru coloana de identitate. Valoarea inițială implicită este 1.
    • INCREMENT BY internval_value definește intervalul dintre valorile generate. În mod implicit, valoarea intervalului este 1.
    • CACHE definește un număr de valori pe care Oracle ar trebui să le genereze în prealabil pentru a îmbunătăți performanța. Utilizați această opțiune pentru coloana care are un număr mare de inserții.

    Oracle identity column examples

    Să luăm câteva exemple de utilizare a coloanelor Oracle identity.,

    O) GENERATE ÎNTOTDEAUNA de exemplu,

    următoarea declarație creează un tabel numit identity_demo care constă dintr-o coloană de identitate:

    următoarea declarație introduce un nou rând în identity_demo tabel:

    Pentru că nu specificați o valoare pentru id coloana, Oracle generate automat secvențială valoare începând de la 1.,

    următoarea declarație încercări de a introduce o valoare în id coloană de identitate:

    Oracle a emis o eroare:

    Pentru că id coloana fost definite ca GENERATED ALWAYS, acesta nu a putut accepta orice valoare prezentată.,

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

    următoarea declarație introduce un nou rând în identity_demo tabel cu o valoare prezentată pentru id coloana:

    În acest exemplu, Oracle utilizate cu condiția ca valoarea și a introdus în tabel.,În primul rând, recreează identity_demo tabel al cărui id coloană este definită ca o coloană de identitate cu valoarea inițială începe de la 100:

    în al Doilea rând, se introduce un rând în care să identity_demo tabel:

    în al Treilea rând, date de interogare de la identity_demo tabel:

    după Cum puteți vedea, valoarea inițială a id coloana este de 100 după cum se specifică în clauza de identitate.,

    E) INCREMENTA CU opțiune de exemplu,

    în Primul rând, schimba id-ul coloană a identity_demo tabel care include atât START WITH și INCREMENT BY opțiuni.

    în al Doilea rând, introduce două rânduri în identity_demo tabel:

    în al Treilea rând, de interogare a datelor din tabel pentru a verifica insertii:

    după Cum puteți vedea, în primul rând are valoarea id-ului 10. Al doilea rând are valoarea id 20., Aceasta este ceea ce am definit pentru coloana id care ar trebui să înceapă cu 10 și să crească cu 10 pentru noul rând.

    Oracle identity column restrictions

    coloanele de identitate sunt supuse următoarelor restricții:

    • fiecare tabel are o singură coloană de identitate.
    • tipul de date al coloanei de identitate trebuie să fie un tip de date numerice. tipul de date definit de utilizator nu este permis să se utilizeze cu clauza de identitate.
    • coloana de identitate nu este moștenită de declarația CREATE TABLE AS SELECT.,
    • coloana de identitate nu poate avea un altDEFAULT constrângere.
    • algoritmul de criptare pentru coloanele de identitate criptate poate fi dedus, prin urmare, ar trebui să utilizați un algoritm de criptare puternic.
    • inline constrângere a coloanei de identitate trebuie să nu intre în conflict cu NOT NULL și NOT DEFERRABLE constrângere declarat de identitate clauză.

    în acest tutorial, ați învățat cum să utilizați coloana Oracle identity care vă permite să definiți cu ușurință o coloană numerică generată automat pentru un tabel.,

    • a fost acest tutorial util?
    • YesNo

Articles

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *