Составители:
Рубрика:
ГУАП МЦИТ
Введение в «ORACLE»
Под ред. проф. В.М.Космачёва
72
• При достижении определенного предела, начинать возрастать заново с начального
значения.
Последовательность может создавать цепочки как увеличивающихся чисел, так и уменьшающихся, можно задавать и
приращение значений последовательности. Для создания последовательности требуется привилегия CREATE
SEQUENCE. Для создания последовательности в схеме другого пользователя необходимо иметь привилегию CREATE
ANY SEQUENCE.
Оператор определения последовательности имеет следующий синтаксис:
CREATE SEQUENCE [схема.]имя_последовательности
[INCREMENT BY приращение]
[START WITH начальное_значение]
[MAXVALUE наибольшее_значение | NOMAXVALUE]
[MINVALUE наименьшее_значение | NOMINVALUE]
[CYCLE | NOCYCLE]
[CACHE число_элементов | NOCACHE]
[ORDER | NOORDER]
• INCREMENT BY определяет интервал между последовательными номерами. Если этот параметр имеет
отрицательное значение, то последовательность убывающая, если положительное — то последовательность
возрастающая. Значением по умолчанию является 1, параметр приращения может быть любым целым
• START WITH параметром начальное_значение задает первый генерируемый номер. Если этот параметр
отсутствует, то для возрастающих последовательностей первый генерируемый номер равен значению
параметра MINVALUE, а для убывающей последовательности MAXVALUE.
• MAXVALUE параметром наибольшее_значение задает максимальное значение, которое будет генерироваться
последовательностью. Это число должно быть больше, чем началъное_значение и наименьшее_значение. Это
число может быть любым числом с количеством знаков, не превышающим 28. Отсутствие верхней границы
указывается ключевым словом NOMAXVALUE, которое определяет для убывающих последовательностей
значение -1, а для возрастающих последовательностей 10
27
.
• MINVALUE параметром наименьшее_значение задает минимальное число, которое будет генерироваться
последовательностью. Это число должно быть меньше чем начальное_значение и наибольшее_значение. Это
число может быть любым числом с количеством знаков, не превышающем 28. Отсутствие нижней границы
указывается ключевым словом NOMINVALUE, которое определяет для убывающих последовательностей
значение 10
26
, а для возрастающих последовательностей 1.
• NOCYCLE является значением, используемым по умолчанию, и означает завершение генерирования
последовательности по достижении конца последовательности. Если при определении последовательности
указан параметр CYCLE, то после достижения очередным членом последовательности значения
наибольшее_значение (для возрастающих последовательностей) выдается значение параметра
наименьшее_значение. Если параметры наименьшее _значение и наибольшее_значение не указаны, то
используются их значения по умолчанию.
• CACHE указывает на использование техники кеширования, что обеспечивает более быструю генерацию
элементов последовательности. число элементов определяет количество элементов области кеша, это число не
должно превышать разницы между MAXVALUE и MINVALUE.
• ORDER обеспечивает генерацию последовательных элементов точно в порядке поступления запросов.
Одна последовательность может использоваться для генерации первичных ключей для нескольких таблиц. Если два
пользователя обращаются к одной последовательности, то каждый из них не видит последовательные номера,
сгенерированные для другого пользователя.
При использовании последовательности:
• для выбора следующего номера - использовать вызов типа my_seq.NEXTVAL
• для выбора текущего номера - вызов тип my_seq.CURRVAL
• для выбора в переменную PL/SQL - вызов типа SELECT my_seq.CURRVAL INTO my_per FROM DUAL
• из последовательности my_seq выбирается новое значение в переменную my_per
Псевдостолбец NEXTVAL используется для генерирования очередного номера из указанной последовательности.
Обращение имеет к NEXTVAL синтаксис:
Имя_последовательности.NEXTVAL;
Страницы
- « первая
- ‹ предыдущая
- …
- 70
- 71
- 72
- 73
- 74
- …
- следующая ›
- последняя »
