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

10 Строк выбрано. Псевдостолбцы nextval и currval

Псевдостолбец NEXTVAL используется для выборки следующего свободного числа последовательности, а текущее число помещается в CURRVAL.

Команды и предложения, где используются NEXTVAL и CURRVAL:

  • Список SELECT команды SELECT, которая не является частью подзапроса.

Select film_id. CURRVAL from klient;

  • Список SELECT подзапроса в команде INSERT.

  • Предложение VALUES команды INSERT.

Insert into film

Values(film_id. NEXTVAL, ‘Пятый элемент’,null,null,100,5);

  • Предложение SET команды UPDATE.

Команды и предложения, где NEXTVAL и CURRVAL не используются:

  • Список SELECT представления (view).

  • Команда SELECT с ключевым словом DISTINCT.

  • Команда SELECT с предложениями GROUP BY, HAVING или ORDER BY.

  • Подзапрос в команде SELECT, DELETE или UPDATE.

  • Предложение DEFAULT команды CREATE TABLE или ALTER TABLE.

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

  • при откате команды, содержащей ссылку на последовательность, число теряется;

  • при сбое системы;

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

Просмотр следующего свободного значения без его увеличения

Увидеть следующее свободное значение последовательности, не увеличив его, можно только в случае, если последовательность создана с параметром NOCACHE. Для этого выполняется запрос к таблице USER_SEQUENCES.

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

Синтаксис

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

[INCREMENT BY n]

[{MAXVALUE n | NOMAXVALUE }]

[{MINVALUE n | NOMINVALUE}]

[{CYCLE | NOCYCLE}]

[{CACHE л | NOCACHE}]

  • Для изменения параметров необходимо быть владельцем последовательности или иметь для нее привилегию ALTER.

  • Команда ALTER SEQUENCE влияет только на числа, генерируемые после введения изменения.

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

  • Изменить параметр START WITH командой ALTER SEQUENCE нельзя. Чтобы начать последовательность с другого числа, необходимо ее удалить (drop) и создать заново.

ALTER SEQUENCE fild_id

2 INCREMENT BY 2

3 MAXVALUE 100

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

Синтаксис

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

где: последовательность имя генератора последовательности (, необходимо быть ее владельцем или иметь привилегию).

Лабораторная работа № 12. Тема: словарь данных.

Словарь данных Oracle - это один из наиболее важных компонентов сервера Oracle. Он создается во время генерации базы данных. При каждом использовании базы данных обновление и обслуживание словаря данных осуществляется сервером Oracle. Владельцем всех таблиц словаря данных является пользователь SYS. Прямое обращение к таблицам базы данных используется редко, так как информацию, которую они содержат, довольно сложно понять. Поэтому пользователи обычно работают со словарем данных через так называемые представления, которые позволяют получить информацию в формате, простом для понимания.

Таблицы базы данных Oracle

Таблицы

Описание

Таблицы пользователя

Набор таблиц, которые создаются и обслуживаются пользователем. Например, таблица Film, содержащая данные пользователя.

Словарь данных

Набор таблиц, которые создаются и обслуживаются сервером Oracle. Например, таблица USEROBJECTS, содержащая информацию о базе данных.

Примеры содержимого словаря данных

  • Имена пользователей сервера Oracle.

  • Привилегии, предоставленные пользователям.

  • Имена объектов базы данных (таблиц, представлений, индексов и т.д.).

  • Табличные ограничения.

  • Учетная информация (например, о том, кто обращался к конкретным объектам базы данных или обновлял их).