Возвращаемое значение хранимой процедуры для задания SQL Fail - PullRequest
2 голосов
/ 02 сентября 2011

У меня есть хранимая процедура, которая является первым шагом в задании SQL. SP сравнивает даты в 2 таблицах, если они равны, тогда задание SQL может продолжаться, но если они не совпадают, мне нужно вернуть значение из SP, которое заставляет задание SQL запускать его при сбое.

Каков наилучший способ сделать это? Это с помощью оператора RAISERROR или просто вернуть значение, например -99?

Кажется, такой очевидный вопрос, но я никогда не думал об этом до сих пор.

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

Как вам захочется. Вы можете использовать try / catch и raiserror. Это может позволить вам при необходимости записать ошибку в журнал событий.

Как правило, я просто использовал бы оператор IF, который возвращает результат, а затем продолжил бы работу с остальным кодом в противном случае.

Я думаю, что это вопрос предпочтений / требований. Любой из них выполнит свою работу.

0 голосов
/ 26 марта 2012

На мой взгляд, лучшие практические подходы:

  1. функция, которая возвращает бит 1/0 (True / False)
  2. сохраненный выходной параметр процедуры

Возвращаемые значения Proc предназначены для проверки успешности или неудачи самого proc, обычно 0 для успеха и некоторый другой номер ошибки при возникновении ошибки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...