|
|
|
Возврат кода ошибки (приложения) из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
Добрый день, Господа. Вопрос теоретического плана: как (и почему именно так) следует возвращать код ошибки (приложения) из хранимой процедуры? Мне известны три варианта: RAISERROR, RETURN, OUTPUT параметр. Каково Ваше мнение? Благодарю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2002, 11:56:26 |
|
||
|
Возврат кода ошибки (приложения) из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
У нас так, код завершения (не ошибка - 0, ошибка - отличное от нуля) через RETURN, при этом RAISERROR генерит описание ошибки по ее коду, определенному в sysmessages. OUTPUT параметры содержат результаты выполнения, при ошибке они null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2002, 13:39:07 |
|
||
|
Возврат кода ошибки (приложения) из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
Если теоретически, то xp_logevent записывает информацию о событиях в журнал приложений Windows (RAISEERROR WITH LOG). Т.о. RAISEERROR -это часть обработчика событий в системе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2002, 13:57:05 |
|
||
|
Возврат кода ошибки (приложения) из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
IMHO Если рассматривать процедуру как "черный ящик", то RAISERROR - это ошибки выполнения поцедуры, т.е. исключительные ситуации RETURN - это логические ошибки выполнения, например, неполные или неправильные входные параметры OUTPUT - это результаты работы, которые также могут означать наличие какой-либо ошибки (скорее всего логической), например, превышение какого-либо лимита для пользователя, запустившего процедуру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2002, 16:25:35 |
|
||
|
Возврат кода ошибки (приложения) из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы. Не могу не согласиться с Glory, что RAISERROR необходим для критичесих ошибок. RETURN и OUTPUT параметр, в принципе, равносзначны, т.к. для получения значения оных необходимо затратить одинаковое количество усилий (что там переменную заводить, что тут...), даже еще есть ограничение по типу для RETURN (int). Еще раз благодарю всех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2002, 19:48:05 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1822552]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
218ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 510ms |

| 0 / 0 |
