(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Числовые последовательности в Oracle

Источник: oracle

Это ряд чисел, в котором каждое последующие число больше предыдущего. Из этого следует, что каждое число в последовательности встречается всего один раз. Следовательно, последовательности очень хорошо подходят для генерации первичных ключей для идентификации объектов в нутри Базы данных.

В Oracle последовательности представлены в виде отдельных сущностей базы данных. Для последовательности следующие параметры имеют важные значения:

1) Начальное значение последовательности

2) Шаг последовательности

3) Минимальное значение последовательности

Так же для последовательности можно задать циклична она или нет. Если последовательность циклична, то достигнув максимального значения последовательности она перейдет к начальному значению последовательности. В случае если последовательность не циклична и достигла своего конца, то будет сгенерирована ошибка (ORA-08004).

Техническая часть

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

Что бы создать простейшую последовательность необходимо выполнить следующий запрос:

CREATE SEQUENCE -- говорим что хотим создать последовательность
 S_SAMPLE -- с именем S_SAMPLE
 START WITH 0 -- начинаться последовательность будет с нуля
 INCREMENT BY 1 -- шаг последовательности, это значит что следующие значение 
                -- последовательности на 1 будет больше предыдущего
 MINVALUE 0 -- минимальное значение последовательности

Если необходимо задать оба предела: максимальное значение последовательности и минимальное значение последовательности, то при создании можно указать максимальное значение последовательности: MAXVALUE. Для того, что бы указать циклична ли последовательность можно при создании указать флаг CYCLE.

Пример создания цикличной последовательности, с прямым заданием максимального значения последовательности:

CREATE SEQUENCE 
 S_TEST2 
 START WITH 0 
 INCREMENT BY 1 
 MINVALUE 0 
 MAXVALUE 400 -- максимальное значение последовательности 
 CYCLE -- Это обозначает, что последовательность циклична 
 Изменение параметров последовательности в Oracle:

Что бы изменить параметры последовательности, существует следующие предложение: ALTER SEQUENCE имя последовательности. В данном предложении можно использовать все те же составляющие что и в предложении CREATE SEQUENCE. Только при помощи данного предложения нельзя изменить текущие значение последовательности. Для того, что бы это сделать необходимо удалить последовательность и создать новую с заданным именем и заданным значение последовательности указанной в части в START WITH. Пример изменения параметров последовательности:

ALTER SEQUENCE - изменяем последовательность 
 S_TEST  -- с именем S_TEST
 INCREMENT BY 1 -- устанавливаем шаг последовательности в 1
 MINVALUE 2 - задаем минимальное и максимальное значение последовательности
 MAXVALUE 4

Удаление последовательности: Для удаления последовательности есть предложение: DROP SEQUENCE имя последовательности

Пример:

DROP SEQUENCE S_TEST2

Пример использования последовательности для генерации первичного ключа:

CREATE OR REPLACE TRIGGER MY_TABLE_B_I_R --название триггера
BEFORE
 INSERT
ON MY_TABLE --название таблицы
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
begin
   --id - первичный ключ
   --MY_TABLE_SQ - название последовательности
   select MY_TABLE_SQ.nextval into :new.id from dual;
end;
/

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 22.12.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Oracle Database Standard Edition 2 Named User Plus License
Oracle Database Personal Edition Named User Plus Software Update License & Support
Oracle Database Standard Edition 2 Processor License
Oracle Database Personal Edition Named User Plus License
VMware Workstation 14 Pro for Linux and Windows, ESD
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Все о PHP и даже больше
Проект mic-hard - все об XP - новости, статьи, советы
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100