Oracle So erstellen Sie ein automatisches Inkrementfeld mit Sequenz

In Oracle können Sie ein Auto-Increment-Feld mithilfe des Datenbankobjekts 'sequence' erstellen, das als Primärschlüssel zugewiesen werden kann. Mit dem Oracle-Sequenzobjekt können Sie neue Werte für eine Spalte generieren. Eine Oracle-Sequenz ist ein Objekt wie eine Tabelle oder eine gespeicherte Prozedur. Beispiele mit ausführlichen Erläuterungen werden bereitgestellt.

Erstellen Sie eine Sequenz.

Syntax:

Sequenzsequenzname erstellen
Beginne mit Wert
Erhöhung um Wert
Minwertwert
Wert maxwert;

Gehen wir ein Beispiel durch.

Zuerst erstellen wir ein emp Tabelle mit Primärschlüsseleinschränkung auf emp_id Säule.

SQL> Tabelle erstellen (
emp_id number (10),
fname varchar2 (25),
lname varchar2 (25),
constraint pk_emp_id PRIMARY KEY (emp_id)
);

Nun erstellen wir eine Sequenz.

SQL> Sequenzsequenz erstellen
Beginnen Sie mit 1
Erhöhung um 1
Mindestwert 1
Maximalwert 10000;

Jetzt haben wir ein Sequenzobjekt mit dem Namen erstellt emp_sequence mit Startwert als 1 und Inkrementieren um 1 von 1 (Minwert) auf 10000 (Maxwert).

Nun fügen wir die Werte in die Emp-Tabelle ein.

SQL> Werte in emp (emp_id, fname, lname) einfügen (emp_sequence.nextval, 'Darvin', 'Johnson');
SQL> Werte in emp (emp_id, fname, lname) einfügen (emp_sequence.nextval, 'Mig', 'Andrews');
SQL> Werte in emp (emp_id, fname, lname) einfügen (emp_sequence.nextval, 'Alex', 'Martin');
SQL> Werte in emp (emp_id, fname, lname) einfügen (emp_sequence.nextval, 'Jon', 'Paul');
SQL> Werte in emp (emp_id, fname, lname) einfügen (emp_sequence.nextval, 'Yatin', 'Bones');

Im emp_sequence.nextval woher emp_sequence ist der Name der Sequenz, die wir oben und erstellt haben nextval ist eine Funktion, mit der die nächste Nummer zugewiesen wird emp_sequence zu emp_id Spalte in emp Tabelle.

Nun wollen wir das sehen emp Tabelle.

SQL> select * from emp; EMP_ID FNAME LNAME ---------- ------------------------- ------------ ------------- 1 Darvin Johnson 2 Mig Andrews 3 Alex Martin 4 Jon Paul 5 Yatin Bones 

Jetzt können Sie mit 'Sequenz' die emp_id Spalte hat automatisch erhöhte Werte von 1 bis 5.