Oracle ALTER SEQUENCE na praktycznych przykładach

Oracle Alter Sequence Na Praktycznych Przykladach



W Oracle sekwencja jest obiektem bazy danych, który generuje unikalną serię liczb całkowitych, których można użyć jako klucza podstawowego lub do dowolnego innego celu, w którym wymagana jest unikalna liczba. ALTER SEQUENCE to potężne narzędzie w Oracle, które pozwala modyfikować atrybuty sekwencji w bazie danych. Polecenie ALTER SEQUENCE może początkowo wydawać się zniechęcające, ale praktyczne przykłady pomogą zrozumieć i wykorzystać jego pełny potencjał.

W tym przewodniku omówimy następujące przykłady:

Zresetuj wartość sekwencji

Aby zresetować wartość sekwencyjną lub ponownie uruchomić wartość sekwencyjną od jej wartości początkowej, przycisk „ ZMIEŃ KOLEJNOŚĆ ” polecenie z „ URUCHOM PONOWNIE Klauzula ” może być zastosowana. Przykład podano poniżej:







ZMIEŃ SEKWENCJĘ LINUXHINT_SEQ RESTART;

W powyższym poleceniu „ LINUXHINT_SEQ ” oznacza nazwę sekwencji.



Wyjście



Wyjście pokazuje, że sekwencja została zresetowana.





Zmień minimalne wartości sekwencji

Kiedy sekwencja jest tworzona w Oracle, jej minimalna wartość jest domyślnie ustawiona na 1. „ ZMIEŃ KOLEJNOŚĆ ” polecenie z „ WARTOŚĆ MIN Klauzula ” może być wykorzystana do zmiany minimalnej wartości sekwencji. Przykład podano poniżej:

ZMIEŃ SEKWENCJĘ LINUXHINT_SEQ MINVALUE -1;

W tym przykładzie nową wartością minimalną jest -1 .



Wyjście

Wyjście pokazało, że minimalna wartość została zmieniona.

Zmień maksymalne wartości sekwencji

Domyślnie maksymalna wartość sekwencji Oracle to „10^27 – 1”, co jest największą możliwą wartością dla 38-cyfrowej liczby dziesiętnej. Aby zmienić maksymalną wartość sekwencji, przycisk „ ZMIEŃ KOLEJNOŚĆ ” polecenie z „ MAKSYMALNA WARTOŚĆ Klauzula ” może być zastosowana. Przykład podano poniżej:

ZMIEŃ SEKWENCJĘ LINUXHINT_SEQ MAXVALUE 1000;

W powyższym przykładzie nową wartością maksymalną będzie 1000 .

Wyjście

Na zrzucie ekranu widać, że maksymalna wartość została zmieniona.

Notatka : W powyższym przykładzie sekwencja przestanie generować wartości po osiągnięciu 1000, a wszelkie próby wygenerowania wartości powyżej tego punktu spowodują błąd.

Zmień rozmiar buforowania sekwencji

Rozmiar pamięci podręcznej decyduje o liczbie numerów sekwencyjnych, które są wstępnie przydzielane i przechowywane w pamięci w celu szybszego dostępu. Aby zmienić rozmiar pamięci podręcznej sekwencji, użyj opcji „ PAMIĘĆ PODRĘCZNA klauzula „z” ZMIEŃ KOLEJNOŚĆ ' Komenda. Poniżej podano przykład:

ZMIEŃ SEKWENCJĘ LINUXHINT_SEQ CACHE 50;

W powyższym przykładzie rozmiar pamięci podręcznej sekwencji jest ustawiony na pięćdziesiąt . Oznacza to, że numer sekwencyjny 50 zostanie wstępnie przydzielony na raz w celu szybszego dostępu.

Wyjście

Dane wyjściowe wskazują, że rozmiar pamięci podręcznej został zmieniony.

Ustaw rozmiar i kolejność sekwencji pamięci podręcznej

Aby ustawić rozmiar pamięci podręcznej sekwencji i wygenerować numery sekwencyjne w kolejności, użyj opcji „ ZAMÓWIENIE ' I ' PAMIĘĆ PODRĘCZNA ” klauzule z „ ZMIEŃ KOLEJNOŚĆ ' Komenda. Oto przykład:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER;

W tym przykładzie nową wartością rozmiaru pamięci podręcznej będzie 100 .

Wyjście

Dane wyjściowe pokazują, że zmiany zostały wprowadzone w sekwencji.

Ustaw sekwencję, aby generować wartości malejące

Odstęp między kolejnymi numerami jest określany przez numer przyrostu. Wartość przyrostu jest domyślnie ustawiona na 1, co oznacza, że ​​przy każdym wywołaniu sekwencji zwracana jest kolejna liczba w serii. Gdy przyrost jest ustawiony na -1, sekwencja generuje liczby całkowite w kolejności malejącej.

Aby ustawić kolejność generowania wartości malejących, użyj opcji „ PRZYROST O ” z „ ZMIEŃ KOLEJNOŚĆ ” i ustaw wartość na -1. Przykład podano poniżej:

ZMIEŃ SEKWENCJĘ LINUXHINT_SEQ ZWIĘKSZENIE O -1;

W tym przykładzie wartością jest -1 , co oznacza, że ​​przy każdym wywołaniu sekwencji zwracana jest poprzednia liczba w sekwencji.

Wyjście

Dane wyjściowe pokazują, że sekwencja została ustawiona do generowania wartości malejących.

Zmień wartość przyrostu sekwencji

Aby zmienić wartość przyrostu sekwencji, użyj przycisku „ PRZYROST O ” z „ ZMIEŃ KOLEJNOŚĆ ” i odpowiednio ustaw wartość. Przykład podano poniżej:

ZMIEŃ SEKWENCJĘ LINUXHINT_SEQ ZWIĘKSZENIE O 2;

W tym przykładzie wartością jest 2 , co oznacza, że ​​przy każdym wywołaniu sekwencji następna liczba w sekwencji będzie zwiększana o 2.

Wyjście

Wyjście pokazało, że sekwencja została odpowiednio zmieniona.

Zmień sekwencję, aby włączyć opcję cyklu

Gdy opcja cyklu jest włączona dla sekwencji, sekwencja będzie się zawijać i zaczynać od początku (MINVALUE) po osiągnięciu maksymalnej wartości (MAXVALUE). Aby włączyć tę opcję, użyj opcji „ CYKL klauzula „z” ZMIEŃ KOLEJNOŚĆ ' Komenda. Przykład podano poniżej:

ZMIEŃ SEKWENCJĘ LINUXHINT_SEQ CYCLE;

Wyjście

Wyjście wyświetlające opcję cyklu zostało włączone.

Zmień sekwencję, aby wyłączyć cykl

Gdy opcja cyklu jest wyłączona dla sekwencji, sekwencja przestanie generować wartości po osiągnięciu wartości maksymalnej (MAXVALUE) lub wartości minimalnej (MINVALUE), w zależności od kolejności generowania. Aby wyłączyć tę opcję, użyj klauzuli „NOCYCLE” z poleceniem „ALTER SEQUENCE”. Przykład podano poniżej:

ZMIEŃ SEKWENCJĘ LINUXHINT_SEQ NOCYCLE;

Wyjście

Wyjście pokazało, że opcja cyklu została wyłączona.

Zmień kolejność, aby zmodyfikować wiele opcji

Wpisz podane polecenie, aby ustawić przyrost ujemny o -1, maksymalną wartość 10 i włączoną opcję cyklu:

ZMIEŃ SEKWENCJĘ LINUXHINT_SEQ ZWIĘKSZENIE O -1 MAXVALUE 10 CYKLI;

Wyjście

Dane wyjściowe pokazały, że zmiany w sekwencji zostały pomyślnie wprowadzone.

Wniosek

W Oracle „ ZMIEŃ KOLEJNOŚĆ Komenda ” umożliwia zmianę atrybutów sekwencji poprzez zresetowanie wartości sekwencji, zmianę wartości minimalnej i maksymalnej, wartości przyrostu, rozmiaru pamięci podręcznej, uporządkowania oraz włączenia lub wyłączenia opcji cyklu. Zmiany te są przydatne w wielu okolicznościach, na przykład gdy trzeba zmienić wartość początkową sekwencji lub dostosować rozmiar pamięci podręcznej w celu uzyskania lepszej wydajności. W tym poście wyjaśniono różne przypadki użycia polecenia ALTER SEQUENCE na praktycznych przykładach.