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

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

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

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

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


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