SAP HANA-Tutorial: Sequenz erstellen

Was ist Sequenz?

Eine Sequenz ist ein Datenbankobjekt, das automatisch die inkrementierte Liste numerischer Werte gemäß der in der Sequenzspezifikation angegebenen Regel generiert.

Um beispielsweise die Mitarbeiternummer automatisch in die Spalte (EMPLOYEE_NO) der Tabelle einzufügen, wenn ein neuer Datensatz in die Tabelle eingefügt wird, verwenden wir die Reihenfolge.

Sequenzwerte werden in aufsteigender oder absteigender Reihenfolge generiert.

Sequenzen sind nicht mit Tabellen verknüpft; Sie werden von der Anwendung verwendet. Es gibt zwei Werte in Folge –

  • CURRVAL – Geben Sie den aktuellen Wert der Sequenz an.
  • NEXTVAL – Geben Sie den nächsten Wert der Sequenz an.

SYNTAX

CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>]

SYNTAXELEMENTE

ELEMENTS BESCHREIBUNG
Es ist der Name der Sequenz.
[ ] Es gibt einen oder mehrere Sequenzparameter an.
BEGINNEN MIT Es beschreibt den Startsequenzwert.
ERHÖHUNG UM Dies gibt den Wert an, der vom letzten zugewiesenen Wert jedes Mal erhöht werden soll, wenn ein neuer Sequenzwert generiert wird. Der Standardwert ist 1.
MAXWERT Dies gibt den maximalen Wert an, der von der Sequenz generiert werden kann. kann zwischen -4611686018427387903 und 4611686018427387902 liegen.
KEIN MAXWERT Wenn NO MAXVALUE angegeben ist, beträgt der Maximalwert für eine aufsteigende Sequenz 4611686018427387903 und der Minimalwert für eine absteigende Sequenz -1.
MINWERT / KEIN MINWERT Es gibt den Mindestwert an, den eine Sequenz generieren kann. kann zwischen -4611686018427387904 und 4611686018427387902 liegen. Wenn NO MINVALUE verwendet wird, ist der Mindestwert für eine aufsteigende Sequenz 1
CYCLE Die CYCLE-Direktive gibt an, dass die Sequenznummer neu gestartet wird, nachdem sie ihren Maximal- oder Minimalwert erreicht hat.
KEIN ZYKLUS Die Standarddirektive option.NO CYCLE gibt an, dass die Sequenznummer nicht neu gestartet wird, nachdem sie ihren Maximal- oder Minimalwert erreicht hat.
ZWISCHENSPEICHER / Die Cache-Größe gibt an, welcher Bereich von Sequenznummern in einem Knoten zwischengespeichert wird. muss eine vorzeichenlose Ganzzahl sein.
KEIN CACHE Standardoption. Die NO CACHE-Anweisung gibt an, dass die Sequenznummer nicht in einem Knoten zwischengespeichert wird.
ZURÜCKSETZEN DURCH Es gibt an, dass die Datenbank beim Neustart der Datenbank automatisch Folgendes ausführt und der Sequenzwert wird mit dem zurückgegebenen Wert neu gestartet.

Beispiel -

Wir erstellen eine Sequenz mit dem Namen DHK_SCHEMA.EMP_NO, die jedes Mal, wenn die Sequenz verwendet wird, einen um +1 erhöhten Wert der Sequenz erstellt.

Sequenzskript –

CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1.

Hier verwenden wir im folgenden Beispiel das Objekt „sequence“, um den Wert der Mitarbeiternummer bei jeder Ausführung der Auswahlabfrage um +1 zu erhöhen. In der Abfrage kann „nextval“ für die Generierung von Seriennummern oder für Anforderungen derselben Art verwendet werden.

Verwendung der Reihenfolge –

SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

AUSGABE – 100,101,102………Also bei jeder Ausführung der obigen Auswahlabfrage.