Oracle Crea Crea sequence Command

Oracle Crea Crea sequence Command
Le sequenze di database sono utili oggetti del database che consentono al database di generare automaticamente una sequenza di valori in base a un determinato valore iniziale, il passaggio di incremento e il valore massimo.

Ti imbatterai spesso in sequenze di database utilizzate come tasti primari per una colonna di database. Sebbene sia possibile utilizzare il generatore di chiave primaria integrata, le sequenze forniscono proprietà diverse che consentono di personalizzare il modo in cui i valori vengono aggiunti al database.

Questo tutorial ti insegnerà come utilizzare il comando Crea sequenza nel database Oracle per definire una nuova sequenza.

Oracle Crea Sequence Dichiarazione

Utilizziamo l'istruzione Crea Sequence in Oracle per creare una nuova sequenza Oracle. Possiamo esprimere la sintassi di questa affermazione come mostrato di seguito:

Crea sequence sequence_name
[Incremento di n]
[Inizia con N]
[MaxValue N | NomaxValue]
[Minvalue N | Nominuale]
[Ciclo | Nocycle]
[Cache N | Nocache]
[Ordine | NESSUN ORDINE]

L'istruzione accetta le seguenti opzioni:

  1. sequence_name - questo specifica il nome della sequenza che si desidera creare.
  2. Incremento di n - l'incremento per n clausola consente di specificare il valore con cui aumenta la sequenza. Per impostazione predefinita, la sequenza aumenterà dal valore precedente di un fattore 1.
  3. Inizia con N - Questa opzione consente di specificare il valore a cui inizierà la sequenza. Allo stesso modo, il valore predefinito è impostato su 1.
  4. MaxValue n - Il parametro MaxValue consente di impostare il valore massimo che la sequenza può generare. Il valore predefinito è impostato su 10^27-1.
  5. Minvalue N - In questo caso, questo parametro definisce il valore minimo generato dalla sequenza. Il valore predefinito è impostato su -10^27+1.
  6. Ciclo: il parametro del ciclo definisce se la sequenza dovrebbe ciclare i valori generati al massimo. Se impostato, la sequenza ricomincia dal valore minimo una volta raggiunto il valore massimo definito. Per prevenire il ciclo di sequenza, utilizzare l'opzione Nocycle. Per impostazione predefinita, la sequenza non percorre i valori.
  7. Cache N - Questa clausola specifica il numero di numeri di sequenza che vengono preallocati e memorizzati in memoria o memorizzati nella cache per un accesso più rapido. Per impostazione predefinita, nessun valori viene memorizzato nella cache.
  8. Ordine: il parametro dell'ordine specifica se la sequenza di numeri viene generata in ordine di richiesta. Se questa clausola non è specificata, il comportamento predefinito è Noorder.

Oracle Crea Esempio di sequenza

Nell'esempio seguente, creiamo una sequenza chiamata Looper_sequence che inizia dal valore di 2 e raggiunge 100 con un intervallo di 2. La sequenza ciclerà anche i valori una volta raggiunto il valore massimo.

Crea sequenza looper_sequence
Incremento di 2
Inizia con 2
Minvalue 2
MaxValue 100
ciclo
nocache;

Una volta definita la sequenza, possiamo recuperare i valori dalla sequenza usando la funzione nxtval ().

Seleziona Looper_sequence.Nextval da Dual;

Poiché questa è la prima volta che esegue la sequenza, dovrebbe restituire il primo valore come mostrato di seguito:

Se rientramo la sequenza nella stessa sessione, dovremmo ottenere il valore successivo come mostrato di seguito:

Questo dovrebbe continuare per ogni iterazione fino a quando non raggiungiamo il valore massimo, costringendo la sequenza a ricominciare.

Oracle ottieni valore corrente

Per ottenere il valore corrente nella sequenza, è possibile utilizzare la funzione Currval () come mostrato di seguito:

Seleziona Looper_sequence.Currval da Dual;

Risultato:

Conclusione

In questo tutorial, hai imparato come utilizzare il comando Crea sequenza in Oracle per creare un nuovo oggetto sequenza in un database. Hai anche imparato come utilizzare le funzioni NxtVal () e Currval () per ottenere i valori successivi e attuali della sequenza, rispettivamente.