Oracle -Sequenz NextVal -Funktion

Oracle -Sequenz NextVal -Funktion
In Oracle bezieht sich eine Sequenz auf ein Datenbankobjekt, das eine Reihe von numerischen Werten gemäß einem bestimmten Inkrement erzeugt. Sequenzen werden üblicherweise verwendet, um die eindeutigen Primärschlüsselwerte für Datensätze in einer Datenbanktabelle zu generieren.

In diesem Tutorial lernen wir, wie Sie die NextVal -Funktion verwenden, wenn Sie mit Oracle -Sequenzen arbeiten.

Hinweis: Dieses Tutorial behandelt nicht die Grundlagen des Erstellens einer Orakelsequenz. Siehe unser Tutorial über Oracle -Sequenzen, um mehr zu entdecken.

Oracle NextVal -Funktion

Die NextVal -Funktion in einer Oracle -Sequenz wird verwendet, um den nächsten Wert in einer bestimmten Sequenz zu holen.

Wir können die Syntax der Funktion ausdrücken, wie im folgenden Code -Snippet gezeigt:

Sequence_Name.NextVal

Die Funktion akzeptiert kein Argument oder Parameter. Anschließend gibt es den nächsten Wert in der definierten Sequenz zurück.

Beispielfunktion Demonstration

Berücksichtigen wir ein Beispiel. Wir beginnen zunächst eine einfache Orakelsequenz, wie im folgenden Code gezeigt:

Erstellen Sie Sequence test_sequence
Beginnen Sie mit 1
Inkrement um 1;

Wir verwenden die Anweisung für die Sequenz erstellen, um eine neue Oracle -Sequenz zu initialisieren. Wir definieren dann bei welchem ​​Wert die Sequenz und den Inkrementwert für jeden neuen generierten Wert.

In unserem Beispiel beginnt die test_sequence mit dem Wert von 1 und erhöht sich um eins für jeden neuen Wert. Dies sollte eine Reihe von numerischen Werten erzeugen, die bei 1,2,3,4,5… usw.

Verwenden der Oracle NextVal -Funktion

Wir können die nächste Wertfunktion aus der test_sequence -Sequenz verwenden, um den nächsten Wert zu erhalten, wie im Folgenden dargestellt:

Wählen Sie test_sequence.NextVal von Dual;

Dies sollte den nächsten Wert aus der Sequenz zurückgeben, wie im Folgenden gezeigt:

Wenn Sie die Anweisung erneut anrufen, sollte sie den nächsten Wert in der Serie zurückgeben, die 2 ist.

Dies setzt sich fort, bis die Werte erschöpft sind, oder Sie treffen den Maximalwert, der in der Sequenz definiert ist. Überprüfen Sie unser Oracle -Sequenz -Tutorial, um zu erfahren, wie Sie die minimalen und maximalen Werte festlegen können.

Verwenden Sie die NEXTVAL -Funktion, um die Werte zu überschreiten

Wir können auch die NextVal -Funktion verwenden, um die Zahlen von 1 bis 10 zu drucken, wie im folgenden Code gezeigt:

Erstellen Sie Sequenz looper_sequence
Beginnen Sie mit 1
Inkrement um 1;
Serveroutput einstellen;
START
Denn ich in 1… 10
SCHLEIFE
Dbms_output.Put_line (looper_sequence.NextVal);
Endschleife;
ENDE;

Der bereitgestellte Code erstellt eine neue Sequenz namens looper_sequence, die bei 1 beginnt und für jeden neuen generierten Wert um 1 erhöht wird.

Anschließend aktivieren wir die Option ServerOutput, mit der das Paket dbms_output die Nachrichten in der SQL*Plus -Konsole anzeigen kann.

Schließlich schließen wir eine für die Schleife in eine End-/Beginn -Anweisung ein, um über den Wertebereich von 1 bis 10 zu iterieren. Wir nennen dann den dbms_output.PUT_LINE -Funktion für jeden Wert im Bereich und drucken Sie den nächsten Wert in der Seoper_sequence -Sequenz zur Konsole.

Der Code druckt die nächsten zehn Werte in der Looper -Sequenz. In unserem Fall ist es der Wert von 1 bis 10 oder 11 - 20… und so weiter für jeden neuen Anruf.

Resultierende Ausgabe:

1
2
3
4
5
6
7
8
9
10
PL/SQL -Verfahren erfolgreich abgeschlossen.

Verwenden Sie die NextVal -Funktion in einer Einfügeanweisung

Wir können auch die NextVal -Funktion in einer Einfügungsanweisung als Primärschlüssel verwenden. Zum Beispiel:

In Benutzer einfügen (ID, First_Name, Credit_card, Land)
Werte (test_sequence.NextVal, 'James Smith', 4278793631436711 ',' Vereinigte Arabische Emirate ');

In dem angegebenen Beispiel rufen wir die NEXTVAL -Funktion von der test_sequence auf, um den Wert für die Spalte ID in der Tabelle einzufügen.

Abschluss

In diesem Beitrag haben Sie festgestellt, wie Sie die Oracle NextVal -Funktion verwenden, um den nächsten Wert in einer Sequenz zu holen. Sie haben auch gelernt, wie man die Funktion verwendet, um über einen Satz von Werten zu iterieren oder einen eindeutigen Wert in eine Tabellenspalte einzufügen.