Eine Sequenz bezieht sich auf eine Reihe einzigartiger ganzzahliger Werte, die bei Bedarf erzeugt werden. Sie sind eine weit verbreitete Funktion in vielen Datenbankmotoren. Dies liegt daran.
Lassen Sie uns das Konzept der SQL -Sequenzen in diesem Tutorial diskutieren.
Wie SQL -Sequenzen funktionieren
Es gibt keine universelle Möglichkeit zu beschreiben, wie Sequenzen funktionieren. Dies liegt daran, dass verschiedene Datenbankmotoren sie unterschiedlich implementieren.
Lassen Sie uns lernen, wie das funktioniert.
Sequenzen in MySQL
Sequenzen in MySQL werden implementiert, indem das Attribut auto_increment in einer Spalte festgelegt wird. In den meisten Fällen wird diese Spalte auch als Primärschlüssel ausgewählt, da jeder Wert in der Spalte eindeutig sein muss.
Wir können veranschaulichen, wie in der folgenden Abfrage eine Sequenz in MySQL verwendet wird:
-- MysqlDie obige Abfrage erstellt eine Spalte mit einer SQL -Sequenz unter Verwendung des Schlüsselworts auto_increment. Beachten Sie, dass wir auch die primäre Schlüsselbeschränkung auf die Spalte festlegen.
Obwohl das Hinzufügen von Sequenzen in MySQL so einfach ist, wie oben dargestellt, sind einige Punkte zu beachten:
Sequenz in postgresql
In PostgreSQL sind Sequenzen benutzerdefinierte Objekte, die an das Schema gebunden sind, in dem sie erstellt werden.
Verwenden Sie die Syntax wie unten gezeigt, um eine Sequenz in PostgreSQL zu erstellen:
-- PostgreSQLOkay, was bedeutet das alles? Erlauben Sie uns, es in kleinere Abschnitte zu zerlegen, die wir verstehen können.
Sequenz erstellen
Der erste Teil ist die Erstellung der Sequenz. Auf diese Weise können Sie eine neue Sequenz erstellen, wenn sie nicht existiert. Der Sequenzname kann alles sein, was Sie sich wünschen.
Als Data_Type
Mit der AS -Klausel können Sie den Datentyp für die Sequenz angeben. PostgreSQL ermöglicht Smallint-, INT- und Bigint -Typen. Wenn Sie den Datentyp nicht identifizieren möchten, können Sie diese Klausel überspringen, und PostgreSQL wird standardmäßig an Bigint ausfallen.
Inkrement von
Diese Klausel gibt den Wert an, der der aktuellen Sequenz hinzugefügt wird, um einen neuen Sequenzwert zu erstellen. Wenn beispielsweise die Sequenz 1,2,3,4,5 ist, beträgt der Inkrementwert 1.
Wenn Sie von oben starten und absteigen möchten, wenn die Datensätze hinzugefügt werden, geben Sie einen negativen Wert für die Increment By -Klausel an.
Standardmäßig verwendet PostgreSQL den Inkrementwert von 1.
Minwert
Diese Klausel definiert den Mindestwert für die Sequenz. Wenn kein Wert angegeben ist, verwendet PostgreSQL den Standardwert.
MaxValue
Die MaxValue -Klausel legt den Maximalwert für die Sequenz fest.
BEGINNT MIT
Diese Klausel legt den Startwert für die Sequenz fest. Wenn kein Wert angegeben wird, wird der Minwert für aufsteigende Sequenzen verwendet, und Maxvule wird für absteigende Sequenzen verwendet.
ZWISCHENSPEICHER
Diese Klausel definiert, wie viele Sequenznummern vorgefertigt und im Gedächtnis gespeichert werden sollen. Dies ermöglicht einen schnelleren Zugriff. Standardmäßig verwendet PostgreSQL einen Wert von 1, daher no-cache.
ZYKLUS
Mit der Zyklusklausel können Sie die Umwicklung angeben, wenn die Max- oder Min -Werte in der Sequenz erreicht werden. PostgreSQL verwendet min bzw. MaxValue, wenn die Grenze erreicht ist, wenn der Zyklus nicht angegeben ist.
GEHÖRT
Diese Option gibt an, mit der die Tabellenspalte die Sequenz zugeordnet ist. Wenn die Spalte oder Tabelle fallen gelassen wird, wird auch die Sequenz gelöscht.
Wenn die Sequenz keiner Tabelle oder Spalte zugeordnet ist, können Sie die Besitzen von None festlegen.
Führen Sie die Abfrage aus, um eine einfache Sequenz in PostgreSQL zu erstellen:
Erstellen Sie Sequenz my_seqDie obige Abfrage erstellt eine neue Sequenz, die in der Tabelle my_table zugeordnet ist.
In der folgenden Ressource können Sie mehr über PostgreSQL -Sequenzen untersuchen:
https: // www.PostgreSQL.org/docs/current/sql-createsequence.html
Sequenzen im SQL Server
Wie PostgreSQL sind Sequenzen auf dem SQL-Server benutzerdefinierte Objekte. Daher verwenden sie eine eng ähnliche Syntax für Sequenzen in PostgreSQL. Der einzige Unterschied ist die Syntax.
Die Beispielsyntax ist wie unten dargestellt:
Sequenz erstellen [schema_name.] sequence_nameSQL Server verwendet anstelle von keiner keinen Zyklus und keinen Cache.
Sie können mehr über SQL Server -Sequenzen in der folgenden Ressource untersuchen:
https: // docs.Microsoft.com/en-us/sql/t-sql/Anweisungen/Erstellen-Sequenz-transact-sql?View = SQL-Server-VER15
Hinweis: Überprüfen Sie für Oracle -Datenbankbenutzer die folgende Ressource
https: // docs.Orakel.com/cd/b12037_01/server.101/B10759/Statements_6014.htm
Abschluss
Dieser detaillierte Artikel behandelte SQL -Sequenzen und wie wir sie in unseren Datenbanken verwenden können. Bleiben Sie dran für weitere Tutorials.