Sequenzen erstellen und verwalten
Sequenzen sind Schemaobjekte, aus denen Sie eindeutige sequenzielle Werte generieren können. Diese sind dann nützlich, wenn Sie eindeutige Primärschlüssel benötigen. Sequenzen werden über die Pseudospalten CURRVAL und NEXTVAL verwendet, die jeweils den aktuellen bzw. nächsten Werte der Sequenz zurückgeben.
Nach dem Erstellen einer Sequenz müssen Sie sie mittels NEXTVAL initialisieren, um den ersten Wert zu erhalten Erst nach der Initialisierung einer Sequenz gibt CURRVAL den aktuellen Wert zurück.
Das HR-Schema enthält drei Sequenzen: DEPARTMENTS_SEQUENCE, EMPLOYEES_SEQUENCE und LOCATIONS_SEQUENCE.
Tipp: Wenn Sie eine Sequenz verwenden möchten, um den Primärschlüssel einer Tabelle aufzufüllen, geben sie der Sequenz einen Namen an, der diesen Zweck widerspiegelt. (In diesem Thema wird die Benennungskonvention TABLE_NAME_SEQUENCE verwendet.)
Siehe:
-
Oracle Database-Konzepte für einen Überblick über Sequences
-
Oracle Database SQL Language Reference für weitere Informationen zu den Pseudospalten CURRVAL und NEXTVAL
-
Oracle Database Administrator's Guide für Informationen zum Verwalten von Sequenzen
Tutorial: Sequenzen erstellen
In diesem Tutorial wird dargestellt, wie Sie das Tool "Datenbanksequenz erstellen" verwenden, um eine Sequenz zu erstellen, mit der Primärschlüssel für die Tabelle EVALUATIONS generiert werden.
Die Tabelle EVALUATIONS wurde in Beispiel 4-1 erstellt.
Um eine SEQUENCE zu erstellen, verwenden Sie entweder das SQL Developer-Tool CREATE SEQUENCE oder die DDL-Anweisung CREATE SEQUENCE. Die äquivalente DDL-Anweisung:
CREATE SEQUENCE evaluations_sequence
INCREMENT BY 1
START WITH 1 ORDER;
Schritte zum Erstellen von EVALUATIONS_SEQUENCE mit dem Tool "Datenbanksequenz erstellen":
-
Blenden Sie im Schritt "Verbindungen" hr_conn ein.
-
Klicken Sie in der Liste der Schemaobjekttypen mit der rechten Maustaste auf Sequences.
-
Klicken Sie in der Auswahlliste auf Neue Sequenz.
-
Geben Sie im Fenster "Reihenfolge erstellen" im Feld "Name"
EVALUATIONS_SEQUENCEüber dem Standardwert "SEQUENCE1" ein. -
Wenn der Bereich "Eigenschaften" nicht angezeigt wird, klicken Sie auf die Registerkarte Eigenschaften.
-
Im Bereich "Eigenschaften" gilt Folgendes:
-
Geben Sie im Feld "Erhöhen" den Wert
1ein. -
Geben Sie im Feld "Starten mit" den Wert
1ein. -
Übernehmen Sie für die übrigen Felder die Standardwerte.
-
Klicken Sie auf OK.
Die Folgenummer EVALUATIONS_SEQUENCE wird erstellt. Der Name wird unter "Sequenzen" im Rahmen "Verbindungen" angezeigt.
-
Siehe:
-
Oracle SQL Developer - Benutzerdokumentation für weitere Informationen zur Verwendung von SQL Developer zum Erstellen einer Sequenz
-
Oracle Database SQL Language Reference für Informationen über die CREATE SEQUENCE-Anweisung
-
"Tutorial: Trigger erstellen, der einen Primärschlüssel für eine Zeile generiert, bevor sie eingefügt wird", um zu erfahren, wie Sie einen Trigger erstellen, der die von EVALUATIONS_SEQUENCE erstellten Primärschlüssel in die Tabelle EVALUATIONS einfügt
Sequenzen löschen
Um eine SEQUENCE zu löschen, verwenden Sie entweder den SQL Developer-Verbindungs-Frame und das Löschtool oder die DDL-Anweisung DROP SEQUENCE.
Diese Anweisung löscht die Sequenz EVALUATIONS_SEQUENCE:
DROP SEQUENCE EVALUATIONS_SEQUENCE;
Achtung: Löschen Sie die Sequence EVALUATIONS_SEQUENCE nicht. Sie benötigen sie für Beispiel 5-3. Wenn Sie das Löschen der Sequenzen üben möchten, erstellen Sie sie zu diesem Zweck und löschen Sie sie.
Schritte zum Löschen einer Sequenz mit dem Tool "Löschen":
-
Blenden Sie im Schritt "Verbindungen" hr_conn ein.
-
Blenden Sie in der Liste der Schemaobjekttypen die Option Sequences ein.
-
Klicken Sie in der Liste der Sequenzen mit der rechten Maustaste auf den Namen der zu löschenden Sequenz.
-
Klicken Sie in der Auswahlliste auf Löschen.
-
Klicken Sie im Drop-Fenster auf Anwenden.
-
Klicken Sie im Bestätigungs-Fenster auf OK.
Siehe auch: Oracle Database SQL Language Reference für Informationen zur Anweisung DROP SEQUENCE