Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Возврат кода ошибки (приложения) из хранимой процедуры / 5 сообщений из 5, страница 1 из 1
27.05.2002, 11:56:26
    #32031417
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат кода ошибки (приложения) из хранимой процедуры
Добрый день, Господа.

Вопрос теоретического плана: как (и почему именно так) следует возвращать код ошибки (приложения)
из хранимой процедуры? Мне известны три варианта: RAISERROR, RETURN, OUTPUT параметр.
Каково Ваше мнение?

Благодарю
...
Рейтинг: 0 / 0
27.05.2002, 13:39:07
    #32031432
snake
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат кода ошибки (приложения) из хранимой процедуры
У нас так, код завершения (не ошибка - 0, ошибка - отличное от нуля) через
RETURN, при этом RAISERROR генерит описание ошибки по ее коду,
определенному в sysmessages.
OUTPUT параметры содержат результаты выполнения, при ошибке они null.
...
Рейтинг: 0 / 0
27.05.2002, 13:57:05
    #32031437
Ольга
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат кода ошибки (приложения) из хранимой процедуры
Если теоретически, то xp_logevent записывает информацию о событиях в журнал приложений Windows (RAISEERROR WITH LOG).
Т.о. RAISEERROR -это часть обработчика событий в системе.
...
Рейтинг: 0 / 0
27.05.2002, 16:25:35
    #32031448
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат кода ошибки (приложения) из хранимой процедуры
IMHO
Если рассматривать процедуру как "черный ящик", то
RAISERROR - это ошибки выполнения поцедуры, т.е. исключительные ситуации
RETURN - это логические ошибки выполнения, например, неполные или неправильные входные параметры
OUTPUT - это результаты работы, которые также могут означать наличие какой-либо ошибки (скорее всего логической), например, превышение какого-либо лимита для пользователя, запустившего процедуру
...
Рейтинг: 0 / 0
27.05.2002, 19:48:05
    #32031456
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат кода ошибки (приложения) из хранимой процедуры
Спасибо за ответы.

Не могу не согласиться с Glory, что RAISERROR необходим
для критичесих ошибок. RETURN и OUTPUT параметр, в принципе,
равносзначны, т.к. для получения значения оных необходимо
затратить одинаковое количество усилий (что там переменную
заводить, что тут...), даже еще есть ограничение по типу
для RETURN (int).

Еще раз благодарю всех.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Возврат кода ошибки (приложения) из хранимой процедуры / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]