DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Триггер базы данных

Набор команд, который запускается на исполнение при наступлении определенного события в базе данных (например, вход в приложение, изменение строки таблицы, исполнение DDL-команды).
Объектный тип или экземпляр объектного типа
Oracle-версия объектно-ориентированного класса (то есть попытка его эмуляции). Объектные типы описывают как состояние, так и поведение, объединяя собственно данные (подобно реляционной таблице) с правилами (процедурами и функциями, манипулирующими с этими данными). В этом разделе мы поговорим о процедурах, функциях и пакетах. Триггеры будут описаны далее. Объектные типы не будут рассматриваться в этой главе, так как мало кто из разработчиков (и почти никто из администраторов баз данных) использует объектно-ориентированные возможности Oracle.
Процедуры
Процедура - это модуль, выполняющий одно или несколько действий. Вызов процедуры в PL/SQL представляет собой независимый исполняемый оператор, поэтому PL/SQL-блок может состоять только из вызова процедуры. Процедуры являются ключевыми составляющими модульного кода, которые обеспечивают группировку и возможность повторного использования программной логики.
Структура процедуры
PL/SQL-процедура имеет следующий формат:

где каждый элемент имеет соответствующее назначение:
схема
Имя схемы, которой принадлежит процедура (необязательный параметр). По умолчанию процедура принадлежит схеме текущего пользователя. Для создания процедуры в другой схеме текущему пользователю потребуются соответствующие привилегии.
имя
Имя процедуры, которое указывается сразу после ключевого слова
PROCEDURE.
параметры
Необязательный список параметров, которые могут быть определены для передачи информации как в процедуру, так и из нее обратно в вызывающую программу.
AUTHID предложение
Определяет, с какими правами будет исполняться процедура: с правами ее владельца (создателя) или же с правами вызывающего пользователя. Принято говорить о двух моделях исполнения: с правами владельца и с правами вызывающего.
операторы объявления
Объявления локальных идентификаторов для данной процедуры. Если вы ничего не объявляете, то операторы IS и BEGIN будут следовать непосредственно друг за другом.
исполняемые операторы
Операторы, которые процедура исполняет при вызове. После ключевого слова BEGIN до ключевых слов END или EXCEPTION должен быть указан хотя бы один исполняемый оператор.
операторы обработки исключений
Необязательные обработчики исключений для процедуры. Если вы не обрабатываете явно никакие исключения, то пропустите ключевое слово EXCEPTION и завершите раздел исполнения ключевым словом END.
Вызов процедуры
Для запуска процедуры apply_discount используются следующие операторы:
Если процедура не принимает параметров, можно вызывать ее, не используя скобки:
В версиях Oracle8i Database и старше можно включать в вызов процедуры пустые скобки, например:
Процедура вызывается как исполняемый оператор PL/SQL. Другими словами, вызов процедуры должен завершаться точкой с запятой (;) и исполняться до или после других (если они есть) операторов SQL или PL/SQL в исполняемом разделе PL/SQL-блока.
 









jAntivirus