Oracle ALTER SEQUENCE чрез практически примери

Oracle Alter Sequence Crez Prakticeski Primeri



В Oracle последователността е обект на база данни, който генерира уникална поредица от цели числа, които могат да се използват като първичен ключ или за всяка друга цел, където се изисква уникален номер. ALTER SEQUENCE е мощен инструмент в Oracle, който ви позволява да променяте атрибутите на последователност в базата данни. Командата ALTER SEQUENCE може да изглежда плашеща в началото, но практическите примери могат да ви помогнат да разберете и използвате пълния й потенциал.

Това ръководство ще обхване следните примери:

Нулирайте стойността на последователността

За да нулирате стойността на последователността или да рестартирате стойността на последователността от нейната начална стойност, „ ПРОМЕНЯ ПОСЛЕДОВАТЕЛНОСТ ' команда с ' РЕСТАРТИРАМ ” може да се използва клауза. Примерът е даден по-долу:







ALTER SEQUENCE LINUXHINT_SEQ RESTART;

В горната команда „ LINUXHINT_SEQ ” представлява името на последователността.



Изход



Изходът показва, че последователността е нулирана.





Променете минималните стойности на последователността

Когато последователност е създадена в Oracle, по подразбиране нейната минимална стойност е зададена на 1. „ ПРОМЕНЯ ПОСЛЕДОВАТЕЛНОСТ ' команда с ' МИН. СТОЙНОСТ ” може да се използва клауза за промяна на минималната стойност на последователността. Примерът е даден по-долу:

ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;

В този пример новата минимална стойност е -1 .



Изход

Изходът показа, че минималната стойност е променена.

Променете максималните стойности на последователността

По подразбиране максималната стойност на последователност на Oracle е „10^27 – 1“, което е най-голямата възможна стойност за 38-цифрено десетично число. За да промените максималната стойност на последователността, „ ПРОМЕНЯ ПОСЛЕДОВАТЕЛНОСТ ' команда с ' МАКСИМАЛНА СТОЙНОСТ ” може да се използва клауза. Примерът е даден по-долу:

ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;

В горния пример новата максимална стойност ще бъде 1000 .

Изход

На екранната снимка се вижда, че максималната стойност е променена.

Забележка : В горния пример последователността ще спре да генерира стойности, след като достигне 1000, и всички опити за генериране на стойност над тази точка ще доведат до грешка.

Променете размера на кеша на последователността

Размерът на кеша определя броя на поредните номера, които са предварително разпределени и съхранявани в паметта за по-бърз достъп. За да промените размера на кеша на последователността, използвайте „ КЕШ клауза с „ ПРОМЕНЯ ПОСЛЕДОВАТЕЛНОСТ ” команда. По-долу е даден пример:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 50;

В горния пример размерът на кеша на последователността е зададен на петдесет . Това означава, че пореден номер 50 ще бъде предварително разпределен в даден момент за по-бърз достъп.

Изход

Изходът показва, че размерът на кеша е променен.

Задайте размера и реда на кеш последователността

За да зададете размера на кеша на последователността и да генерирате последователните номера по ред, използвайте „ ПОРЪЧКА ' и ' КЕШ клаузи с „ ПРОМЕНЯ ПОСЛЕДОВАТЕЛНОСТ ” команда. Ето един пример:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER;

В този пример новата стойност на размера на кеша ще бъде 100 .

Изход

Изходът показва, че промените са направени в последователността.

Задайте последователността да генерира низходящи стойности

Интервалът между поредните номера се определя от номера на нарастване. Стойността на увеличението е зададена на 1 по подразбиране, което означава, че следващото число в серията се връща всеки път, когато се извика последователността. Когато увеличението е зададено на -1, последователността генерира цели числа в низходящ ред.

За да настроите последователността за генериране на низходящи стойности, използвайте „ УВЕЛИЧАВАНЕ С ” с „ ПРОМЕНЯ ПОСЛЕДОВАТЕЛНОСТ ” и задайте стойността на -1. Примерът е даден по-долу:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY -1;

В този пример стойността е -1 , което означава, че при всяко извикване на последователността се връща предишното число в последователността.

Изход

Резултатът изобразява, че последователността е настроена да генерира низходящи стойности.

Промяна на нарастващата стойност на последователността

За да промените стойността на нарастване на последователността, използвайте „ УВЕЛИЧАВАНЕ С ” с „ ПРОМЕНЯ ПОСЛЕДОВАТЕЛНОСТ ” и задайте съответната стойност. Примерът е даден по-долу:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY 2;

В този пример стойността е 2 , което означава, че при всяко извикване на последователността следващото число в последователността ще се увеличава с 2.

Изход

Изходът показва, че последователността е съответно променена.

Променете последователността, за да активирате опцията за цикъл

Когато опцията за цикъл е активирана за последователност, последователността ще се обвие и ще започне отново от началото (MINVALUE), след като достигне максималната стойност (MAXVALUE). За да активирате тази опция, използвайте „ ЦИКЪЛ клауза с „ ПРОМЕНЯ ПОСЛЕДОВАТЕЛНОСТ ” команда. Примерът е даден по-долу:

ALTER SEQUENCE LINUXHINT_SEQ CYCLE;

Изход

Показаната опция за цикъл е активирана.

Променете последователността, за да деактивирате цикъла

Когато опцията за цикъл е деактивирана за последователност, последователността ще спре да генерира стойности, след като достигне своята максимална стойност (MAXVALUE) или минимална стойност (MINVALUE), в зависимост от реда на генериране. За да деактивирате тази опция, използвайте клаузата „NOCYCLE“ с командата „ALTER SEQUENCE“. Примерът е даден по-долу:

ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE;

Изход

Резултатът показа, че опцията за цикъл е деактивирана.

Променете последователността, за да промените множество опции

Въведете дадената команда, за да настроите последователността да има отрицателно увеличение от -1, максимална стойност 10 и активирана опция за цикъл:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY -1 MAXVALUE 10 CYCLE;

Изход

Резултатът показа, че промените в последователността са направени успешно.

Заключение

В Oracle, „ ПРОМЕНЯ ПОСЛЕДОВАТЕЛНОСТ ” команда ви позволява да промените атрибутите на последователност чрез нулиране на стойността на последователността, промяна на минималните и максималните стойности, стойност на нарастване, размер на кеширане, подреждане и активиране или деактивиране на опцията за цикъл. Тези промени са полезни при много видове обстоятелства, като например когато трябва да промените началната стойност на последователност или да коригирате размера на кеша за по-добра производителност. Тази публикация обяснява различни случаи на употреба на командата ALTER SEQUENCE, използвайки практически примери.