Oracle ALTER SEQUENCE Con ​​esempi pratici

Oracle Alter Sequence Con Esempi Pratici



In Oracle, una sequenza è un oggetto di database che genera una serie univoca di numeri interi che possono essere utilizzati come chiave primaria o per qualsiasi altro scopo in cui è richiesto un numero univoco. L'ALTER SEQUENCE è un potente strumento in Oracle che permette di modificare gli attributi di una sequenza nel database. Il comando ALTER SEQUENCE può sembrare scoraggiante all'inizio, ma esempi pratici possono aiutarti a comprenderne e sfruttarne appieno il potenziale.

Questa guida coprirà i seguenti esempi:

Reimposta il valore della sequenza

Per reimpostare il valore della sequenza o per riavviare il valore della sequenza dal suo valore iniziale, ' SEQUENZA ALTERATA ” comando con il “ RICOMINCIA È possibile utilizzare la clausola '. L'esempio è riportato di seguito:







ALTER SEQUENCE LINUXHINT_SEQ RESTART;

Nel comando precedente, ' LINUXHINT_SEQ ” rappresenta il nome della sequenza.



Produzione



L'output indica che la sequenza è stata reimpostata.





Modificare i valori minimi della sequenza

Quando una sequenza viene creata in Oracle, per impostazione predefinita il suo valore minimo è impostato su 1. Il ' SEQUENZA ALTERATA ” comando con il “ VALOREMIN La clausola ” può essere utilizzata per modificare il valore minimo della sequenza. L'esempio è riportato di seguito:

ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;

In questo esempio, il nuovo valore minimo è -1 .



Produzione

L'output ha mostrato che il valore minimo è stato modificato.

Modificare i valori massimi della sequenza

Per impostazione predefinita, il valore massimo di una sequenza Oracle è '10^27 – 1', ovvero il valore massimo possibile per un numero decimale di 38 cifre. Per modificare il valore massimo della sequenza, il ' SEQUENZA ALTERATA ” comando con il “ VAL.MAX È possibile utilizzare la clausola '. L'esempio è fornito di seguito:

ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;

Nell'esempio precedente, il nuovo valore massimo sarà 1000 .

Produzione

Nello screenshot si può vedere che il valore massimo è stato modificato.

Nota : Nell'esempio precedente, la sequenza smetterà di generare valori dopo aver raggiunto 1000 e qualsiasi tentativo di generare un valore oltre quel punto genererà un errore.

Modificare la dimensione della memorizzazione nella cache della sequenza

La dimensione della cache decide il numero di numeri di sequenza preallocati e archiviati in memoria per un accesso più rapido. Per modificare il dimensionamento della cache della sequenza, utilizzare il ' CACHE ” clausola con il “ SEQUENZA ALTERATA ” comando. Un esempio è dato seguito:

ALTER SEQUENZA LINUXHINT_SEQ CACHE 50;

Nell'esempio precedente, la dimensione della cache della sequenza è impostata su cinquanta . Significa che il numero di sequenza 50 verrà preassegnato alla volta per un accesso più rapido.

Produzione

L'output indica che la dimensione della cache è stata modificata.

Imposta la dimensione e l'ordine della sequenza della cache

Per impostare la dimensione della cache della sequenza e generare i numeri di sequenza in ordine, utilizzare il ' ORDINE ' E ' CACHE ” clausole con il “ SEQUENZA ALTERATA ” comando. Ecco un esempio:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER;

In questo esempio, il nuovo valore della dimensione della cache sarà 100 .

Produzione

L'output ha mostrato che le modifiche sono state apportate alla sequenza.

Impostare la sequenza per generare valori decrescenti

L'intervallo tra i numeri di sequenza è determinato dal numero di incremento. Il valore di incremento è impostato su 1 per impostazione predefinita, il che significa che il numero successivo nella serie viene restituito ogni volta che viene chiamata la sequenza. Quando l'incremento è impostato su -1, la sequenza genera numeri interi in ordine decrescente.

Per impostare la sequenza per generare valori decrescenti, utilizzare il ' INCREMENTO DI ' con il ' SEQUENZA ALTERATA ” e imposta il valore su -1. L'esempio è riportato di seguito:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENTO DI -1;

In questo esempio, il valore è -1 , il che significa che ogni volta che viene chiamata la sequenza, viene restituito il numero precedente nella sequenza.

Produzione

L'output indica che la sequenza è stata impostata per generare valori decrescenti.

Modificare il valore di incremento della sequenza

Per modificare il valore di incremento della sequenza, utilizzare il ' INCREMENTO DI ' con il ' SEQUENZA ALTERATA ” e impostare il valore di conseguenza. L'esempio è fornito di seguito:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENTO DI 2;

In questo esempio, il valore è 2 , il che significa che ogni volta che viene chiamata la sequenza, il numero successivo nella sequenza verrà incrementato di 2.

Produzione

L'output ha mostrato che la sequenza è stata modificata di conseguenza.

Modificare la sequenza per abilitare l'opzione Ciclo

Quando l'opzione ciclo è abilitata per una sequenza, la sequenza andrà a capo e ricomincerà dall'inizio (MINVALUE) una volta raggiunto il valore massimo (MAXVALUE). Per abilitare questa opzione, utilizzare il ' CICLO ” clausola con il “ SEQUENZA ALTERATA ” comando. L'esempio è riportato di seguito:

ALTER SEQUENCE LINUXHINT_SEQ CICLO;

Produzione

L'uscita visualizzata l'opzione ciclo è stata abilitata.

Modificare la sequenza per disabilitare il ciclo

Quando l'opzione ciclo è disabilitata per una sequenza, la sequenza smetterà di generare valori una volta raggiunto il suo valore massimo (MAXVALUE) o minimo (MINVALUE), a seconda dell'ordine di generazione. Per disabilitare questa opzione, utilizzare la clausola 'NOCYCLE' con il comando 'ALTER SEQUENCE'. L'esempio è fornito di seguito:

ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE;

Produzione

L'output ha mostrato che l'opzione ciclo è stata disabilitata.

Alterare la sequenza per modificare più opzioni

Digita il comando dato per impostare la sequenza in modo che abbia un incremento negativo di -1, un valore massimo di 10 e un'opzione ciclo abilitata:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY -1 MAXVALUE 10 CYCLE;

Produzione

L'output mostrava che le modifiche erano state apportate correttamente alla sequenza.

Conclusione

In Oracle, il ' SEQUENZA ALTERATA Il comando ” consente di modificare gli attributi di una sequenza reimpostando il valore della sequenza, modificando i valori minimo e massimo, il valore di incremento, la dimensione della cache, l'ordinamento e abilitando o disabilitando l'opzione ciclo. Queste modifiche sono utili in molti tipi di circostanze, ad esempio quando è necessario modificare il valore iniziale di una sequenza o regolare la dimensione della memorizzazione nella cache per prestazioni migliori. Questo post ha spiegato vari casi d'uso del comando ALTER SEQUENCE utilizzando esempi pratici.