Инструменты пользователя

Инструменты сайта


Боковая панель

Введение

Статьи и часто задаваемые вопросы

Установка и настройка

Обработка ошибок

Полезные запросы SQL

Тематические группы

create_exception

CREATE EXCEPTION

Версии сервера

Firebird v0.9 Firebird v1.0 Firebird v1.5 Firebird v2.0

Формат

{CREATE [OR ALTER] | RECREATE} EXCEPTION name 'message';

Описание

Создает исключение определяемое пользователем с именем name и с текстом 'message' для дальнейшего вызова этого исключения в хранимых процедурах и триггерах. Доступно в DSQL и в ISQL.

Пример

для примера можно изучить процедуру SHIP_ORDER базы employee.

создание исключения

CREATE EXCEPTION ORDER_ALREADY_SHIPPED 'Order status is "shipped."';

вызов по условию

IF(ord_stat = 'shipped')THEN
BEGIN
  EXCEPTION order_already_shipped;
END

вызов по условию с заменой сообщения

IF(ord_stat = 'shipped')THEN
BEGIN
  EXCEPTION order_already_shipped 'Order status is "'||ord_stat||'"';
END

подмена стандартного исключения

CREATE EXCEPTION COUNTRY_EXIST '';
CREATE PROCEDURE ADD_COUNTRY  
as
begin
  insert into country (country, currency)
    values ('Canada', 'CdnDlr');
  when sqlcode -803 do exception COUNTRY_EXIST 'Такая страна уже добавлена!';
end

См. также

Источник

%Firebird%\doc\sql.extensions\README.exception_handling

Только авторизованные участники могут оставлять комментарии.
create_exception.txt · Последние изменения: 2008/01/10 16:58 (внешнее изменение)