Примеры. Оператор declare применяется в хранимых процедурах и тригге­рах и размещается в начале

Синтаксис

Описание

CREATE EXCEPTION

ОПЕРАТОР ГЕНЕРАЦИИ ИСКЛЮЧЕНИЯ

ОПЕРАТОР ОБЪЯВЛЕНИЯ ПЕРЕМЕННЫХ DECLARE

Оператор DECLARE применяется в хранимых процедурах и тригге­рах и размещается в начале их тела непосредственно перед скобкой BEGIN, за которой размещаются все исполнимые операторы. Все исполь­зуемые переменные должны быть объявлены. Оператор объявления за­вершается «;». Одним оператором может быть объявлена только одна пе­ременная, и объявления имеют смысл только внутри хранимой процеду­ры или триггера.

Синтаксис:

DECLARE VARIABLE var datatype;

Генерирует сообщение об ошибке (исключение). Применяется в хра­нимых процедурах и триггерах.

Синтаксис:

EXCEPTION name;

name – имя генерируемого исключения. Исключение с данным именем должно быть предварительно создано в базе командой CREATE EXCEPTION.

CREATE EXCEPTION создает исключительную ситуацию, определенную пользователем ошибку, с которой ассоциировано сообщение. Исключительные ситуации могут быть подняты в триггерах и сохраненных процедурах.

Исключительные ситуации глобальны для базы данных. То же самое сообщение или набор сообщений доступно всем сохраненным процедурам и триггерам в приложении. Для примера, база данных может иметь English и French версии тех же самых сообщений исключительных ситуаций и использовать соответствующий набор по необходимости.

Когда исключительная ситуация поднята триггером или сохраненной процедурой, она:

  • Завершает триггер или процедуру, которой она вызвана и отменяет любые, выполненные ими действия (прямо или косвенно).
  • Выводит сообщение об ошибке.

Исключительные ситуации могут быть отслежены и обработаны в сохраненной процедуре или триггере с помощью инструкции WHEN.

CREATE EXCEPTION name "<message>";

Аргумент Описание
name Имя, которое ассоциировано с сообщением исключительной ситуации. Должно быть уникальным среди имен исключительных ситуаций в базе данных.  
"<message>" Строка, заключенная в кавычки, содержащая буквенно-цифровые символы и знаки пунктуации. Максимальная длина: 78 символов.  

Следующая инструкция создает UNKNOWN_EMP_ID исключительную ситуацию:

CREATE EXCEPTION UNKNOWN_EMP_ID "Invalid employee number or project id.";

Следующий фрагмент из сохраненной процедуры поднимает, предварительно установленную исключительную ситуацию, когда SQLCODE принимает значение -530, которое является нарушением ограничения FOREIGN KEY:

...

WHEN SQLCODE -530 DO

EXCEPTION UNKNOWN_EMP_ID;

...


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: