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 Cachegrรถร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.
