Чаще всего используются для подсчета итогов и создания отчетов.
Пример создания материализованного представления:
Пример использования материализованного представления:
Здесь перечислены далеко не все объекты, а только наиболее часто используемые на практике.
Для получения информации по всем объектам базы данных ORACLE следует обратиться к документации.
Для каких системных событий могут использоваться триггеры?
Напимер, следующие события: вход в систему, компиляция процедуры, создание процедуры, создание таблицы.
Что такое пакет в ORACLE?
Пакет — это набор процедур, набор функций, связанных переменных и встроенных типов.
Какой язык используется для создания процедур или функций?
Это специальный язык PL SQL, также можно создавать процедуры и функции на языке JAVA.
Контрольные вопросы и задания для самостоятельного выполнения
1. Для чего нужны триггеры базе данных?
2. Что такое представления в базе данных?
3. Чем отличаются материализованные представления от обычных представлений?
4. Объясните назначение процедур и функций, назначение пакетов в базе.
Шаг 91. Последовательности и формирование первичного ключа
Последовательность SEQUENCE в ORACLE SQL — это объект базы данных, который генерирует целые числа в соответствии с правилами, установленными во время его создания.
Пример создания последовательности:
Пример использования последовательности:
Чаще всего этот объект базы данных — последовательность SEQUENCE — используется при формировании первичного ключа таблицы.
Синтаксис создания объекта последовательности:
Основные параметры
• START WITH позволяет создателю последовательности указать первое генерируемое ей значение. После создания последовательность генерирует указанное в START WITH значение при первой ссылке на ее виртуальный столбец NEXTVAL
• INCREMENT BY n определяет приращение последовательности при каждой ссылке на виртуальный столбец NEXVAL. Если значение не указано явно, по умолчанию устанавливается 1. Для возрастающих последовательностей устанавливается положительное n, для убывающих или последовательностей с обратным отсчетом — отрицательное.
• MINVALUE определяет минимальное значение, создаваемое последовательностью. Если оно не указано, ORACLE применяет значение по умолчанию NOMINVALUE.
• MAXVALUE определяет максимальное значение, создаваемое последовательностью. Если оно не указано, ORACLE применяет значение по умолчанию NOMAXVALUE.
• CYCLE позволяет последовательности повторно использовать созданные значения при достижении MAXVALUE или MINVALUE. То есть последовательность будет продолжать генерировать значения после достижения своего максимума или минимума. Возрастающая последовательность после достижения своего максимума генерирует свой минимум. Убывающая последовательность после достижения своего минимума генерирует свой максимум. Если циклический режим нежелателен или не установлен явным образом, ORACLE применяет значение по умолчанию NOCYCLE. Указывать CYCLE вместе с NOMAXVALUE или NOMINVALUE нельзя. Если нужна циклическая последовательность, необходимо указать MAXVALUE для возрастающей последовательности или MINVALUE для убывающей.
• CACHE n указывает, сколько значений последовательности ORACLE распределяет заранее и поддерживает в памяти для быстрого доступа. Минимальное значение этого параметра равно 2. Для циклических последовательностей это значение должно быть меньше, чем количество значений в цикле. Если кэширование нежелательно или не установлено явным образом, ORACLE применяет значение по умолчанию — 20 значений.
Пример создания последовательности от 1 с шагом 1:
Пример создания последовательности, начало 10 000, с шагом 10:
Пример создания последовательности, начало 10 000, с шагом -1, обратная последовательность:
Обращение к последовательности из SQL:
Seq.CURRVAL — текущее значение последовательности;
Seq.NEXTVAL — приращение последовательности (возвращает ее следующее значение);
первое обращение Seq.NEXTVAL инициирует начальное значение последовательности;
примеры в SQL;
оператор SELECT.
Читать дальше
Конец ознакомительного отрывка
Купить книгу