Secvență Oracle

Evaluare: 0/5

Oracle folosește un generator de secvențe pentru a genera automat o secvență unică de numere. pe care utilizatorul le poate aplica în operațiunile lor. De obicei, secvențele sunt folosite pentru a crea numere unice pentru coloana de cheie primară. Luați în considerare generarea de numere de angajați la introducerea datelor.







La nota! Dacă utilizatorii au fost obligați să creeze programabil numere secvențiale, Oracle ar trebui să blocheze și să deblocheze în mod constant înregistrarea care deține valoarea maximă a acestor secvențe pentru a asigura o creștere ordonată a acestora. O astfel de blocare ar conduce la necesitatea ca utilizatorii să aștepte fiecare valoare următoare a secvenței din tranzacții. Generarea automată a secvențelor Oracle mărește gradul de paralelism al bazei de date.

Există mai multe opțiuni pentru crearea unei secvențe. Folosim o secvență de vanilie simplă. care începe la o valoare de 10.000 și crește de fiecare dată cu 1. Această secvență nu se va repeta ciclic, deoarece fiecare angajat trebuie să aibă un număr unic.







Important! Există două pseudo-coloane, numite currval și nextval. care pot fi folosite pentru interogarea valorilor secvenței. Cursul pseudo-coloană dă valoarea curentă a secvenței, iar următoarea - valoarea nouă sau următoarea a secvenței.

Mai întâi, creați o secvență, după cum se arată în exemplul următor. Acesta este modul obișnuit de a aplica o secvență pentru a genera o cheie primară unică pentru o coloană.

În al doilea rând, selectați numărul secvenței curente utilizând următoarea instrucțiune:

În al treilea rând, introduceți un nou rând în tabelul angajaților. folosind nextval din secvența employee_seq:

În cele din urmă, asigurați-vă că coloana employee_id este completă cu secvența employee_seq:

Rețineți că puteți rula o secvență de baze de date Oracle care crește continuu, dar este posibil să existe omisiuni în numerele sale. Acest lucru se datorează faptului că baza de date Oracle stochează întotdeauna 20 de valori secvențiale (implicite) care sunt obținute de la următoarea. Dacă baza de date eșuează, atunci numerele din memorie se pierd și se creează o succesiune în secvență.







Articole similare

Trimiteți-le prietenilor: