In diesem Leitfaden werden die folgenden Beispiele behandelt:
- Setzen Sie den Sequenzwert zurück
- Ändern Sie die Mindestwerte der Sequenz
- Ändern Sie die Maximalwerte der Sequenz
- Ändern Sie die Caching-Größe der Sequenz
- Legen Sie die Größe und Reihenfolge der Cache-Sequenz fest
- Legen Sie die Reihenfolge fest, um absteigende Werte zu generieren
- Ändern Sie den Inkrementwert der Sequenz
- Ändern Sie die Reihenfolge, um die Zyklusoption zu aktivieren
- Ändern Sie die Option „Sequenz“, um den Zyklus zu deaktivieren
- Ändern Sie die Reihenfolge, um mehrere Optionen zu ändern
Setzen Sie den Sequenzwert zurück
Um den Sequenzwert zurückzusetzen oder den Sequenzwert von seinem Startwert aus neu zu starten, klicken Sie auf „ REIHENFOLGE ÄNDERN ”-Befehl mit dem „ NEU STARTEN ”-Klausel kann verwendet werden. Das Beispiel ist unten aufgeführt:
ALTER SEQUENCE LINUXHINT_SEQ RESTART;
Im obigen Befehl: „ LINUXHINT_SEQ „steht für den Sequenznamen.
Ausgang
Die Ausgabe zeigt, dass die Sequenz zurückgesetzt wurde.
Ändern Sie die Mindestwerte der Sequenz
Wenn eine Sequenz in Oracle erstellt wird, ist ihr Mindestwert standardmäßig auf 1 gesetzt. REIHENFOLGE ÄNDERN ”-Befehl mit dem „ MINWERT Die Klausel „“ kann verwendet werden, um den Mindestwert der Sequenz zu ändern. Das Beispiel ist unten aufgeführt:
ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;In diesem Beispiel beträgt der neue Mindestwert -1 .
Ausgang
Die Ausgabe zeigte, dass der Mindestwert geändert wurde.
Ändern Sie die Maximalwerte der Sequenz
Standardmäßig beträgt der Maximalwert einer Oracle-Sequenz „10^27 – 1“, was der größtmögliche Wert für eine 38-stellige Dezimalzahl ist. Um den maximalen Sequenzwert zu ändern, muss „ REIHENFOLGE ÄNDERN ”-Befehl mit dem „ MAXWERT ”-Klausel kann verwendet werden. Das Beispiel finden Sie unten:
ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;Im obigen Beispiel beträgt der neue Maximalwert 1000 .
Ausgang
Im Screenshot ist zu erkennen, dass der Maximalwert geändert wurde.
Notiz : Im obigen Beispiel stoppt die Sequenz die Generierung von Werten, nachdem sie 1000 erreicht hat, und alle Versuche, einen Wert über diesen Punkt hinaus zu generieren, führen zu einem Fehler.
Ändern Sie die Caching-Größe der Sequenz
Die Cache-Größe bestimmt die Anzahl der Sequenznummern, die für einen schnelleren Zugriff vorab zugewiesen und im Speicher gespeichert werden. Um die Cache-Größe der Sequenz zu ändern, verwenden Sie „ ZWISCHENSPEICHER ”-Klausel mit dem „ REIHENFOLGE ÄNDERN ' Befehl. Nachfolgend finden Sie ein Beispiel:
ALTER SEQUENCE LINUXHINT_SEQ CACHE 50;Im obigen Beispiel ist die Cache-Größe der Sequenz auf eingestellt fünfzig . Dies bedeutet, dass die Sequenznummer 50 für einen schnelleren Zugriff jeweils vorab zugewiesen wird.
Ausgang
Die Ausgabe zeigt, dass die Cache-Größe geändert wurde.
Legen Sie die Größe und Reihenfolge der Cache-Sequenz fest
Um die Größe des Sequenzcaches festzulegen und die Sequenznummern der Reihe nach zu generieren, verwenden Sie „ BEFEHL ' Und ' ZWISCHENSPEICHER ”-Klauseln mit dem „ REIHENFOLGE ÄNDERN ' Befehl. Hier ist ein Beispiel:
ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER;In diesem Beispiel lautet der neue Cache-Größenwert 100 .
Ausgang
Die Ausgabe zeigte an, dass die Änderungen an der Sequenz vorgenommen wurden.
Legen Sie die Reihenfolge fest, um absteigende Werte zu generieren
Der Abstand zwischen den Sequenznummern wird durch die Inkrementnummer bestimmt. Der Inkrementwert ist standardmäßig auf 1 gesetzt, was bedeutet, dass bei jedem Aufruf der Sequenz die nächste Zahl in der Reihe zurückgegeben wird. Wenn das Inkrement auf -1 eingestellt ist, generiert die Sequenz Ganzzahlen in absteigender Reihenfolge.
Um die Reihenfolge so festzulegen, dass absteigende Werte generiert werden, verwenden Sie die Option „ ERHÖHUNG UM ' mit dem ' REIHENFOLGE ÄNDERN ”-Befehl und setzen Sie den Wert auf -1. Das Beispiel ist unten aufgeführt:
ÄNDERN SIE SEQUENCE LINUXHINT_SEQ INCREMENT BY -1;In diesem Beispiel ist der Wert -1 , was bedeutet, dass bei jedem Aufruf der Sequenz die vorherige Nummer in der Sequenz zurückgegeben wird.
Ausgang
Die Ausgabe zeigt, dass die Sequenz so eingestellt wurde, dass absteigende Werte generiert werden.
Ändern Sie den Inkrementwert der Sequenz
Um den Inkrementwert der Sequenz zu ändern, verwenden Sie die Schaltfläche „ ERHÖHUNG UM ' mit dem ' REIHENFOLGE ÄNDERN ”-Befehl und stellen Sie den Wert entsprechend ein. Das Beispiel finden Sie unten:
ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY 2;In diesem Beispiel ist der Wert 2 , was bedeutet, dass bei jedem Aufruf der Sequenz die nächste Zahl in der Sequenz um 2 erhöht wird.
Ausgang
Die Ausgabe zeigte an, dass die Reihenfolge entsprechend geändert wurde.
Ändern Sie die Reihenfolge, um die Option „Zyklus“ zu aktivieren
Wenn die Zyklusoption für eine Sequenz aktiviert ist, läuft die Sequenz um und beginnt wieder von vorne (MINVALUE), sobald sie den Maximalwert (MAXVALUE) erreicht. Um diese Option zu aktivieren, verwenden Sie das „ ZYKLUS ” Klausel mit dem “ FOLGE ÄNDERN ' Befehl. Das Beispiel ist unten angegeben:
ALTER SEQUENCE LINUXHINT_SEQ ZYKLUS; Ausgang
Der Ausgang zeigt an, dass die Zyklusoption aktiviert wurde.
Ändern Sie die Sequenz zum Deaktivieren des Zyklus
Wenn die Zyklusoption für eine Sequenz deaktiviert ist, stoppt die Sequenz die Generierung von Werten, sobald sie je nach Generierungsreihenfolge ihren Maximalwert (MAXVALUE) oder Minimalwert (MINVALUE) erreicht. Um diese Option zu deaktivieren, verwenden Sie die „NOCYCLE“-Klausel mit dem „ALTER SEQUENCE“-Befehl. Das Beispiel ist unten angegeben:
ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE; Ausgang
Die Ausgabe zeigte, dass die Zyklusoption deaktiviert wurde.
Ändern Sie die Reihenfolge, um mehrere Optionen zu ändern
Geben Sie den angegebenen Befehl ein, um die Sequenz so einzustellen, dass sie ein negatives Inkrement von -1, einen maximalen Wert von 10 und eine aktivierte Zyklusoption aufweist:
ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY -1 MAXVALUE 10 CYCLE; Ausgang
Die Ausgabe zeigte, dass die Änderungen erfolgreich an der Sequenz vorgenommen wurden.
Abschluss
Bei Oracle ist das „ FOLGE ÄNDERN ”-Befehl können Sie die Attribute einer Sequenz ändern, indem Sie den Sequenzwert zurücksetzen, die Minimal- und Maximalwerte ändern, den Wert erhöhen, die Cache-Größe, die Reihenfolge und die Zyklusoption aktivieren oder deaktivieren. Diese Änderungen sind in vielen Situationen hilfreich, z. B. wenn Sie den Startwert einer Sequenz ändern oder die Caching-Größe für eine bessere Leistung anpassen müssen. Dieser Beitrag hat verschiedene Anwendungsfälle des ALTER SEQUENCE-Befehls anhand praktischer Beispiele erklärt.