SAP Tutorial HANA: Crea sequenza
Che cos'รจ la sequenza?
Una sequenza รจ un oggetto di database che genera automaticamente l'elenco incrementato di valori numerici in base alla regola specificata 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 della sequenza vengono generati in ordine crescente o decrescente.
Le sequenze non sono associate alle tabelle; vengono utilizzati dall'applicazione. Ci sono due valori in sequenza:
- CURRVAL โ Fornisce il valore corrente della sequenza.
- NEXTVAL: fornisce il valore successivo della sequenza.
SINTASSI
CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>]
ELEMENTI DI SINTASSI
| ELEMENTI | DESCRIZIONE |
|---|---|
| E' il nome della sequenza. | |
| [ ] | Specifica uno o piรน parametri di sequenza. |
| INIZIARE CON | Descrive il valore della sequenza iniziale. |
| INCREMENTO DI | Specifica il valore da incrementare dall'ultimo valore assegnato ogni volta che viene generato un nuovo valore di sequenza. Il valore predefinito รจ 1. |
| VALORE MASSIMO | Questo 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 ascendente, il valore massimo sarร 4611686018427387903 e il valore minimo per una sequenza discendente sarร -1. |
| VALOREMIN /NESSUN VALORE MIN | 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 | L'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. |
| NESSUNA CACHE | Opzione predefinita. La direttiva NO CACHE specifica che il numero di sequenza non verrร memorizzato nella cache in un nodo. |
| RESETTATO DA | Specifica che durante il riavvio del database, il database esegue automaticamente il file 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.
Sceneggiatura della sequenza โ
CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1.
Qui utilizzeremo l'oggetto "sequenza" nell'esempio seguente per incrementare il valore del numero dipendente 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 per lo stesso tipo di requisito.
Uso della sequenza โ
SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
OUTPUT โ 100,101,102โฆโฆโฆQuindi ad ogni esecuzione della query di selezione precedente.
