FirebirdSQL logo
 FILTEREXCEPTION 

RECREATE SEQUENCE

Verwendet für

Sequenz erstellen oder neu erstellen (Generator)

Verfügbar in

DSQL, ESQL

Syntax
RECREATE {SEQUENCE | GENERATOR} seq_name
  [START WITH start_value]
  [INCREMENT [BY] increment]
Table 1. RECREATE SEQUENCE-Anweisungsparameter
Parameter Beschreibung

seq_name

Name der Sequenz (Generator).Diese kann aus bis zu 63 Zeichen bestehen

start_value

Anfangswert der Sequenz

increment

Erhöhen der Sequenz (bei Verwendung von NEXT VALUE FOR seq_name);kann nicht 0 sein

Siehe [fblangref40-ddl-sequence-create-de] für die vollständige Syntax von CREATE SEQUENCE und Beschreibungen zur Definition einer Sequenz und ihrer Optionen.

RECREATE SEQUENCE erstellt oder erstellt eine Sequenz neu.Existiert bereits eine Sequenz mit diesem Namen, versucht die RECREATE SEQUENCE-Anweisung, sie zu löschen und eine neue zu erstellen.Vorhandene Abhängigkeiten verhindern die Ausführung der Anweisung.

Beispiel für RECREATE SEQUENCE

Neuerstellen der Sequenz EMP_NO_GEN
RECREATE SEQUENCE EMP_NO_GEN
  START WITH 10
  INCREMENT BY 2;

docnext count = 3

SET GENERATOR

Verwendet für

Setzen des aktuellen Werts einer Sequenz oder eines Generators auf einen bestimmten Wert

Verfügbar in

DSQL, ESQL

Syntax
SET GENERATOR seq_name TO new_val
Table 1. SET GENERATOR-Anweisungsparameter
Parameter Beschreibung

seq_name

Name des Generators (Sequenz)

new_val

Neuer Sequenz-(Generator-)Wert.Eine 64-Bit-Ganzzahl von -2-63 bis 263-1.

Die Anweisung SET GENERATOR setzt den aktuellen Wert einer Sequenz oder eines Generators auf den angegebenen Wert.

Note

Obwohl SET GENERATOR als veraltet gilt, wird es aus Gründen der Abwärtskompatibilität beibehalten.Die Verwendung der standardkonformen ALTER SEQUENCE wird empfohlen.

Wer kann einen SET GENERATOR verwenden?

Die SET GENERATOR-Anweisung kann ausgeführt werden durch:

  • Administratoren

  • Der Besitzer der Sequenz (Generator)

  • Benutzer mit dem Privileg ALTER ANY SEQUENCE (ALTER ANY GENERATOR)

Beispiel für SET GENERATOR

Wert der Sequenz EMP_NO_GEN auf 145 setzen:
SET GENERATOR EMP_NO_GEN TO 145;
Note

Ähnliche Effekte lassen sich mit [fblangref40-ddl-sequence-alter-de] erzielen:

ALTER SEQUENCE EMP_NO_GEN
  RESTART WITH 145 + increment;

Der Wert von increment ist hier das aktuelle Inkrement der Sequenz.Wir müssen es hinzufügen, da ALTER SEQUENCE den aktuellen Wert berechnet, der basierend auf dem nächsten Wert, den es erzeugen soll, gesetzt werden soll.