Postgres Setval -Sequenz

Postgres Setval -Sequenz
PostgreSQL -Sequenzen werden erstellt, um Werte für Funktionsaufrufe wie NextVal, SETVAL und Currval -Funktionen automatisch einzufügen oder zu aktualisieren. In diesem Artikel werden wir die in der Liste der Sequenzfunktionen vorhandene Setval -Funktion diskutieren. Die Setval -Funktion wird in einer Sequenz aufgerufen, wenn wir den nächsten Wert in der Stromsequenz aufgrund einiger Bedingungen ändern müssen. Die manuelle Änderung in einer Sequenz erfolgt durch die Setval -Funktion in PostgreSQL.

Reihenfolge Funktionen in SQL

Wenn wir eine Spalte in unserer Tabelle verwenden, die sequentielle Werte wie eine Seriennummer oder eine Rollnummer enthält, die mit einem Muster auferlegt wird, können wir eine Sequenz erstellen, um dem Problem zu begegnen. In dieser Sequenz werden wir nach unseren Bedürfnissen mehrere Einschränkungen geben. Die SQL -Syntax zum Erstellen einer Sequenz lautet wie folgt:

Der Name der Serie muss in der obigen Syntax gegen den Befehl "Sequenz erstellen" geschrieben werden. Der Startwert der Sequenz wird dann in den Befehl "starten mit" geschrieben, gefolgt vom inkrementellen Wert zum Befehl "Incriement By". Die Befehle "MinValue" und "MaxValue" werden verwendet, um den Mindestwert oder den Maximalwert der Sequenz festzulegen. Wir werden erklären, ob die Sequenz enden sollte, wenn sie den Maximalwert erreicht oder zum ursprünglichen Wert in der letzten Zeile der Sequenz zurückkehrt.

Wenn wir aufgrund einiger Einschränkungen oder Fehler im Programm eine Sequenz dazwischen verändern müssen, verwenden wir mehrere Sequenzfunktionen in PostgreSQL. Sie werden auch als Sequenzmanipulationsfunktionen bezeichnet. Die Funktionen, die mit dem Konzept der Sequenzfunktion verbunden sind, sind wie folgt:

  1. NEXTVAL -Funktion.
  2. Currval -Funktion.
  3. LastVal -Funktion.
  4. SETVAL -Funktion.

In diesem Handbuch werden wir über die Setval -Funktion in PostgreSQL sprechen.

Setval Reihenfolge Manipulationsfunktion

Die SETVAL -Funktion setzt die aktuelle Sequenzzähler -Variable zurück, die die Inkrementierung gemäß den vom Benutzer festgelegten Einschränkungen hält und sie überprüft, wie die Sequenz nach diesem Punkt fortgesetzt werden soll. Die Setval -Funktion ist an unsere Bedürfnisse einstellbar und kann verschiedene Parametersätze wie den Namen der Sequenz, den nächsten Wert, den die NextVal -Funktion zurückgeben, und die boolesche Algebra -Einschränkung von True und Falsch aufnehmen kann.

Die SETVAL -Funktion wird normalerweise in Verbindung mit dem Befehl "auswählen" verwendet, in dem der Benutzer die Einschränkungen angibt und dann die Reihenfolge angibt, in der die Änderung in der Tabelle vorgenommen werden muss.

Die SETVAL -Funktion manipuliert den nächsten Wert der NextVal -Funktion, da er den aktuellen NextVal -Wert als Parameter nimmt. Wenn der dritte Parameter, der den Wert des Wertes ist, der entweder wahr oder falsch sein kann. Schauen wir uns die Syntax für die Ausführung dieser Manipulationsfunktion in PostgreSQL an:

>> setval auswählen (Name der Sequenz, nächster Wert der Sequenz, wahr oder falsch);

Die obige Syntax für die Ausführung dieser Funktion in PostgreSQL kann auch als:

>> setval auswählen (Name der Sequenz, nächster Wert der Sequenz);

Wir können beide Ausdrücke auswählen, um die Setval -Funktion in der PostgreSQL -Umgebung auszuführen. Der zweite Ausdruck wird jedoch nicht als Parameter untersucht und macht es zu einem weniger raffinierten Zustand der Funktion.

Nachdem wir die Syntax und die Arbeit der Setval -Funktion kennen, werden wir uns mit dem Kernzweck befassen, den diese Funktion in der PostgreSQL -Umgebung dient.

Manipulation einer Sequenz durch die Setval -Funktion

Wie wir oben das Konzept der Sequenzen und wie wir eine Sequenz erstellen. In diesem Fall werden wir zunächst eine Sequenz erstellen, um diese Sequenz durch die Setval -Funktion zu verstehen und zu manipulieren. Wir erstellen eine Sequenz für die Rollnummern von Schülern in einer Klasse, indem wir diesen Code wie im folgenden Snapshot schreiben:

Wie Sie aus der obigen Syntax sehen können, haben wir eine Sequenz namens "SQ 1" erstellt, die mit der Zahl 001 beginnt und bei jeder Iteration um eins erhöht wird. Der Mindestwert für diese Sequenz beträgt 0, während der Maximalwert 100 beträgt. Diese Sequenz geht in einem Zyklus aus, was bedeutet, dass der Maximalwert von 001 erneut beginnt.

Nehmen wir nun an, dass ein Schüler aus einer Klasse abfällt, nachdem seine Datenwerte durch die NextVal -Funktion eingefügt wurden.

In diesem Code haben wir den nächsten Wert der NextVal -Funktion auf „012“ festgelegt, indem wir ihn als falsch angeben. Die Daten des Schülers, die wir nach dem "012" -Rollnummer eingeben werden, der den Unterricht abgebrochen hat, erhalten wir automatisch die Rollnummer "012", wie Sie in der folgenden Demonstration sehen können:

Sie können die Ausgabe aus dem angehängten Bild überprüfen.

Während wir die Abfrage einfügen, um einen Wert in die Tabelle einzugeben.

Anders Möglichkeiten zur Verwendung von Setval -Funktionen

Wenn wir sicherstellen müssen, dass der letzte Wert der NextVal -Funktion wahr ist und wir den anderen Wert gemäß den in der Sequenz definierten Einschränkungen hinzufügen können, können wir diese Abfrage in der PostgreSQL -Umgebung auf zwei verschiedene Arten schreiben:

  1. SETVAL -Funktion ohne den Booleschen Zustand.
  2. SETVAL -Funktion mit dem Booleschen Zustand.

Setval Funktion ohne den Booleschen Zustand

Die Syntax zur Ausführung der Setval -Funktion ohne den booleschen Zustand ist unten angegeben:

>> setval ('seq_1', 052) auswählen;

Die Ausgabe kann aus dem angehängten Screenshot überprüft werden.

In der obigen Syntax wird der nächste Wert der NextVal -Funktion auf „053“ eingestellt, was bedeutet, dass der neueste Wert der Funktion verwendet wird.

SETVAL -Funktion mit dem Booleschen Zustand

Die SETVAL -Funktion kann auch mit der booleschen Funktion ausgeführt werden, die Anweisung dafür ist:

>> setval ('seq_1', 052, true) auswählen;

Die Ausgabe kann aus dem angehängten Screenshot überprüft werden.

In beiden obigen Beispielen wird der nächste Wert der NextVal -Funktion auf "053" festgelegt, da er die Einschränkung erfüllt, dass der neueste Wert der NextVal -Funktion verwendet wird. In der obigen Ausgabe haben wir den nächsten Wert unter Verwendung einer Insert -Abfrage mit der NextVal -Funktion in der Sequenz nach 52 in der Tabelle wie oben gezeigt angegeben.

Abschluss

In diesem Artikel haben wir das Konzept der Sequenzen erfahren. Wir haben diskutiert, warum wir diese Sequenzen in unseren Tabellen verwenden, um Werte in diesem Artikel zu generieren. Die verschiedenen Sequenzfunktionen, die zur Änderung der Sequenzen in der Postgresql verwendet werden, wurden ebenfalls diskutiert. Einer von ihnen war die Setval -Funktion, die wir in einer großen Tortur in diesem Artikel besprochen haben. Die verschiedenen Arten von Verwendungsmöglichkeiten, die diese Funktion verwendet werden kann. Am Ende haben wir uns auch angesehen, wie diese Funktion in der PostgreSQL -Umgebung mit ihren unterschiedlichen Arten von Einschränkungen funktioniert, die im Parameter angegeben sind.