+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 92.01 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

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

22.12.2009 17:06

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

В 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;
/

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

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года