SAP HANA Tutorial: Sequenz erstellen

Anonim

Was ist Sequenz?

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

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

Sequenzwerte werden in aufsteigender oder absteigender Reihenfolge generiert.

Sequenzen sind keinen Tabellen zugeordnet. 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  [] [RESET BY ]

SYNTAXELEMENTE

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

Beispiel -

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

Sequenzskript -

SEQUENZ ERSTELLEN DHK_SCHEMA.EMP_NO STARTEN SIE MIT 100 ERHÖHUNGEN UM 1. 

Hier verwenden wir das Objekt "Sequenz" im folgenden Beispiel, um den Wert von Mitarbeiter Nr. Jedes Mal, wenn die Auswahlabfrage ausgeführt wird, um +1 zu erhöhen. In der Abfrage kann das "nextval" zur Generierung von Seriennummern oder für dieselbe Art von Anforderung verwendet werden.

Verwendung der Sequenz -

SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

AUSGABE - 100,101,102

… Also bei jeder Ausführung der oben genannten Abfrage auswählen.