Tutorial SAP HANA: creare sequenza

Anonim

Cos'è la sequenza?

Una sequenza è un oggetto di database che genera automaticamente l'elenco incrementato di valori numerici in base alla regola come specificato nella specifica della sequenza.

Ad esempio per inserire automaticamente il numero del dipendente nella colonna (EMPLOYEE_NO) della tabella, quando viene inserito un nuovo record nella tabella, utilizziamo la sequenza.

I valori di sequenza vengono generati in ordine crescente o decrescente.

Le sequenze non sono associate alle tabelle; sono utilizzati dall'applicazione. Ci sono due valori in sequenza:

  • CURRVAL - Fornisce il valore corrente della sequenza.
  • NEXTVAL - Fornisce il valore successivo della sequenza.

SINTASSI

CREA SEQUENZA  [] [RESET BY ]

ELEMENTI DI SINTASSI

ELEMENTI DESCRIZIONE
È il nome della sequenza.
[] Specifica uno o più parametri di sequenza.
INIZIA CON Descrive il valore della sequenza iniziale.
INCREMENT DI Specifica il valore da incrementare dall'ultimo valore assegnato ogni volta che viene generato un nuovo valore di sequenza. L'impostazione predefinita è 1.
MAXVALUE Specifica il valore massimo che può essere generato dalla sequenza. può essere compreso tra -4611686018427387903 e 4611686018427387902.
NESSUN VALORE MASSIMO Quando viene specificato NO MAXVALUE, per una sequenza crescente, il valore massimo sarà 4611686018427387903 e il valore minimo per una sequenza decrescente sarà -1.
MINVALUE / NO MINVALUE Specifica il valore minimo che una sequenza può generare. può essere compreso tra -4611686018427387904 e 4611686018427387902. Quando viene utilizzato NO MINVALUE, il valore minimo per una sequenza crescente è 1
CICLO La direttiva CYCLE specifica che il numero di sequenza verrà riavviato dopo aver raggiunto il valore massimo o minimo.
NESSUN CICLO Opzione predefinita La direttiva NO CYCLE specifica che il numero di sequenza non verrà riavviato dopo aver raggiunto il valore massimo o minimo.
CACHE / La dimensione della cache specifica quale intervallo di numeri di sequenza verrà memorizzato nella cache in un nodo. deve essere un numero intero senza segno.
NO CACHE Opzione predefinita. La direttiva NO CACHE specifica che il numero di sequenza non verrà memorizzato nella cache in un nodo.
RESET DA Specifica che durante il riavvio del database, il database esegue automaticamente la e il valore della sequenza viene riavviato con il valore restituito.

Esempio -

Creeremo una sequenza denominata DHK_SCHEMA.EMP_NO, che creerà un valore incrementato della sequenza di +1 ogni volta, quando viene utilizzata la sequenza.

Script sequenza -

CREA SEQUENZA DHK_SCHEMA.EMP_NO INIZIA CON 100 INCREMENTI DI 1. 

Qui useremo la "sequenza" dell'oggetto nell'esempio seguente per incrementare il valore dell'impiegato no di +1 ogni volta che viene eseguita la query di selezione. Nella query, "nextval" può essere utilizzato per la generazione del numero di serie o lo stesso tipo di requisito.

Uso della sequenza -

SELEZIONA DHK_SCHEMA.EMP_NO.nextval DA DUMMY;

USCITA - 100.101.102

... Quindi, ad ogni esecuzione della query di selezione precedente.