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

Oracle Alter Sequence Na Prakticeskih Primerah



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

В этом руководстве будут рассмотрены следующие примеры:

Сбросить значение последовательности

Чтобы сбросить значение последовательности или перезапустить значение последовательности с его начального значения, нажмите « ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ ” командой “ ПЕРЕЗАПУСК можно использовать предложение ». Пример приведен ниже:







ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ LINUXHINT_SEQ RESTART;

В приведенной выше команде « LINUXHINT_SEQ ” представляет имя последовательности.



Выход



Вывод показывает, что последовательность была сброшена.





Изменить минимальные значения последовательности

Когда последовательность создается в Oracle, по умолчанию ее минимальное значение устанавливается равным 1. ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ ” командой “ МИНИМАЛЬНОЕ ЗНАЧЕНИЕ ” можно использовать для изменения минимального значения последовательности. Пример приведен ниже:

ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ LINUXHINT_SEQ МИНЗНАЧЕНИЕ -1;

В этом примере новое минимальное значение равно -1 .



Выход

Вывод показал, что минимальное значение было изменено.

Изменить максимальные значения последовательности

По умолчанию максимальное значение последовательности Oracle — «10^27 — 1», что является максимально возможным значением для 38-значного десятичного числа. Чтобы изменить максимальное значение последовательности, нажмите « ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ ” командой “ МАКС ЗНАЧЕНИЕ можно использовать предложение ». Пример приведен ниже:

ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ LINUXHINT_SEQ MAXVALUE 1000;

В приведенном выше примере новое максимальное значение будет 1000 .

Выход

На скриншоте видно, что максимальное значение изменено.

Примечание : в приведенном выше примере последовательность перестанет генерировать значения после того, как достигнет 1000, и любые попытки генерировать значение после этой точки приведут к ошибке.

Изменить размер кэширования последовательности

Размер кэша определяет количество порядковых номеров, которые предварительно выделяются и сохраняются в памяти для более быстрого доступа. Чтобы изменить размер кэша последовательности, используйте « КЭШ пункт с « ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ команда. Пример приведен ниже:

ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ LINUXHINT_SEQ CACHE 50;

В приведенном выше примере размер кэша последовательности установлен равным пятьдесят . Это означает, что порядковый номер 50 будет предварительно выделен для более быстрого доступа.

Выход

Вывод показывает, что размер кэша был изменен.

Установите размер и порядок кэш-последовательности

Чтобы установить размер кэша последовательности и сгенерировать порядковые номера по порядку, используйте « ЗАКАЗ ' и ' КЭШ ” предложения с “ ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ команда. Вот пример:

ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ LINUXHINT_SEQ CACHE 100 ORDER;

В этом примере новое значение размера кэша будет 100 .

Выход

Вывод показал, что изменения были внесены в последовательность.

Установите последовательность для создания нисходящих значений

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

Чтобы установить последовательность для создания нисходящих значений, используйте « УВЕЛИЧЕНИЕ НА ” с “ ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ ” и установите значение -1. Пример приведен ниже:

ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ LINUXHINT_SEQ УВЕЛИЧИТЬ НА -1;

В этом примере значение равно -1 , что означает, что при каждом вызове последовательности возвращается предыдущий номер в последовательности.

Выход

Вывод показывает, что последовательность настроена на генерацию нисходящих значений.

Изменить значение приращения последовательности

Чтобы изменить значение приращения последовательности, используйте кнопку « УВЕЛИЧЕНИЕ НА ” с “ ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ ” и установите соответствующее значение. Пример приведен ниже:

ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ LINUXHINT_SEQ УВЕЛИЧИТЬ НА 2;

В этом примере значение равно 2 , что означает, что каждый раз, когда вызывается последовательность, следующее число в последовательности будет увеличиваться на 2.

Выход

Вывод показал, что последовательность была изменена соответствующим образом.

Измените последовательность, чтобы включить опцию цикла

Когда опция цикла включена для последовательности, последовательность циклически повторяется и начинается снова с начала (МИН.ЗНАЧЕНИЕ), как только она достигает максимального значения (МАКС.ЗНАЧ.). Чтобы включить эту опцию, используйте кнопку « ЦИКЛ пункт с « ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ команда. Пример приведен ниже:

ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ LINUXHINT_SEQ CYCLE;

Выход

Вывод показал, что опция цикла включена.

Измените последовательность, чтобы отключить цикл

Когда опция цикла отключена для последовательности, последовательность перестанет генерировать значения, как только достигнет своего максимального значения (MAXVALUE) или минимального значения (MINVALUE), в зависимости от порядка генерации. Чтобы отключить эту опцию, используйте предложение «NOCYCLE» с командой «ALTER SEQUENCE». Пример приведен ниже:

ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ LINUXHINT_SEQ NOCYCLE;

Выход

Вывод показал, что опция цикла отключена.

Измените последовательность, чтобы изменить несколько параметров

Введите данную команду, чтобы установить последовательность с отрицательным приращением на -1, максимальным значением 10 и включенным параметром цикла:

ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ LINUXHINT_SEQ УВЕЛИЧИТЬ НА -1 MAXVALUE 10 ЦИКЛ;

Выход

Вывод показал, что изменения были внесены в последовательность успешно.

Заключение

В Oracle « ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ Команда ” позволяет изменить атрибуты последовательности, сбросив значение последовательности, изменив минимальное и максимальное значения, значение приращения, размер кэширования, порядок, а также включив или отключив параметр цикла. Эти изменения полезны во многих случаях, например, когда вам нужно изменить начальное значение последовательности или настроить размер кэширования для повышения производительности. В этом посте объясняются различные варианты использования команды ALTER SEQUENCE на практических примерах.