Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по ORACLE 2004 года.doc
Скачиваний:
26
Добавлен:
03.05.2015
Размер:
466.43 Кб
Скачать

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

Последовательность для автоматической генерации чисел создается командой CREATE SEQUENCE.

Синтаксис

CREATE SEQUENCE последовательность

[INCREMENT BY n]

[START WITH n]

[{MAXVALUE n | NOMAXVALUE}]

[{MINVAUJE n | NOMINVALUE}]

[{CYCLE | NOCYCLE}]

[{CACHE n | NOCACHE}]

где:

последовательность

имя генератора последовательности

INCREMENT BY n

интервал между двумя последовательными номерами; n является целым числом. Если это предложение опущено, приращение при генерации чисел равно 1.

START WITH n

первое генерируемое число в последовательности. Если это предложение опущено, последовательность начинается с 1.

MAXVALUE n

максимальное значение, которое может генерировать последовательность.

NOMAXVALUE

максимальное значение по умолчанию, равное 1027.

MINVALUE n

минимальное значение последовательности.

NOMINVALUE

задает минимальное значение, равное 1.

CYCLE | NOCYCLE

продолжается ли циклическая генерация чисел после достижения максимального или минимального значения. Значение по умолчанию — NOCYCLE.

CACHE n | NOCACHE

количество чисел, которые сервер Oracle распределяет предварительно и хранит в памяти. По умолчанию сервер хранит в кэш-памяти 20 значений.

Пример.

Создание последовательности с именем film_id в таблице film. Первое число последовательности — 51. Кэширование значений и циклическая генерация чисел не заданы.

SQL> CREATE SEQUENCE film_id

2 INCREMENT BY 1

3 START WITH 51

4 MAXVALUE 9999999

Последовательность создана.

He применяйте режим CYCLE, если последовательность используется для генерации первичных ключей.

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

Созданная вами последовательность документируется в словаре данных. Поскольку последовательность является объектом базы данных, информацию о ней можно найти в таблице словаря данных USER_OBJECTS.

Проверить параметры последовательности можно также путем выборки данных из таблицы словаря данных USER_SEQUENCES.

Пример.

Вывод информации о всех последовательностях, владельцем которых вы являетесь.

SQL> SELECT sequence_name, min_value, max_value,

2 increment_by, last_number

3 FROM user_sequences ;

SEQUENCE_NAME

MIN_VALUE

MAX_VALUE

INCREMENT_BY

LAST_NUMBER

-------------------------

------------------

---------------------

----------------------

--------------------

CUSTID

1

9999999

1

109

CUS_SEQ

1

9999999

1

1

FILM_ID

1

9999999

1

51

ORDID

1

9999999

1

622

PRODID

1

9999999

1

200381

PYAT

1

9999999

1

110

SCHETCHIK

1

9999999

1

41

SEQ1

1

9999999

1

5

STO

1

9999999

1

2100

TRI

62