Anfang des Inhaltsbereichs

CREATE SEQUENCE-Anweisung (create_sequence_statement) 

Die CREATE SEQUENCE-Anweisung (create_sequence_statement) definiert ein Datenbankobjekt, das ganzzahlige Werte liefert (Zahlengenerator). Dieses Objekt wird im folgenden Sequenz genannt.

Syntax

<create_sequence_statement> ::= CREATE SEQUENCE [<owner>.]<sequence_name>
[INCREMENT BY <integer>] [START WITH <integer>]
[MAXVALUE <integer> | NOMAXVALUE] [MINVALUE <integer> | NOMINVALUE]
[CYCLE | NOCYCLE]
[CACHE <unsigned_integer> | NOCACHE]
[ORDER | NOORDER]

owner, sequence_name, integer, unsigned_integer

Erläuterung

Die optionalen Angaben nach dem Sequenznamen (sequence_name) können in beliebiger Reihenfolge erfolgen.

Der aktuelle Benutzer muss ein RESOURCE-Benutzer oder Datenbankadministrator (DBA-Benutzer) sein. Wenn ein Eigentümer (owner) angegeben wird, muss dieser den aktuellen Benutzer identifizieren. Der aktuelle Benutzer wird Eigentümer der Sequenz.

Die von der Sequenz erzeugten ganzzahligen Werte können zur Vergabe von Schlüsselwerten benutzt werden.

INCREMENT BY

Definiert die Differenz des nächsten Sequenzwertes vom zuletzt vergebenen Wert. Ein negativer Wert von INCREMENT BY erzeugt eine fallende Sequenz. Wenn kein Wert angegeben wird, wird der Wert 1 verwendet.

START WITH

Definiert den ersten Sequenzwert. Wenn kein Wert angegeben wird, wird der für MAXVALUE angegebene Wert bzw. -1 bei fallenden und der für MINVALUE angegebene Wert bzw. 1 bei aufsteigenden Sequenzen benutzt.

MINVALUE

Definiert den kleinsten Wert, der durch die Sequenz erzeugt wird. Ist kein Wert für MINVALUE angegeben, wird der kleinste mit 38 Ziffern darstellbare ganzzahlige Wert benutzt.

MAXVALUE

Definiert den größten Wert, der durch die Sequenz erzeugt wird. Ist kein Wert für MAXVALUE angegeben, wird der größte mit 38 Ziffern darstellbare ganzzahlige Wert benutzt.

CYCLE/NOCYCLE

CYCLE: Bei aufsteigenden Sequenzen wird nach der Vergabe von MAXVALUE der Wert MINVALUE geliefert. Bei fallenden Sequenzen wird nach der Vergabe von MINVALUE der Wert MAXVALUE geliefert.

NOCYCLE: Die Anforderung eines Sequenzwertes scheitert, wenn bereits das Ende der Sequenz erreicht wurde, d.h. wenn MAXVALUE bei aufsteigenden bzw. MINVALUE bei fallenden Sequenzen vergeben wurde

Ist weder CYCLE noch NOCYCLE angegeben, wird NOCYCLE angenommen.

CACHE/NOCACHE

CACHE: Der Zugriff auf die Sequenz kann beschleunigt werden, weil die definierte Anzahl von Sequenzwerten bereits voraus im Speicher gehalten wird.

NOCACHE: Es werden keine Sequenzwerte im voraus bestimmt.

Ist weder CACHE noch NOCACHE angegeben, wird CACHE 20 angenommen.

ORDER/NOORDER

Die Angabe von ORDER bzw. NOORDER hat keinerlei Auswirkungen.

Die Spezifikation der Sequenzwerte kann mittels CURRVAL und NEXTVAL (Angabe von Werten, value_spec) erfolgen. So können Sie den aktuellen Zählerstand erfragen oder erhöhen.

Ende des Inhaltsbereichs