У меня есть следующая хранимая процедура, и я хочу прервать ее, если количество строк в таблице фактов не похоже на исторические данные.Так что я пытаюсь сделать что-то вроде, до сих пор он только отправляет электронное письмо пользователям, что данные не совпадают, но я хочу добавить еще одну функцию, то есть, чтобы прервать / остановить SP, если разница строк больше 5%.Но это не работает должным образом.Кто-нибудь может объяснить, где я делаю ошибку?Ниже приводится фрагмент хранимой процедуры, в которой я делаю изменения:
SET XACT_ABORT ON;
Begin Try
Begin Transaction;
if (@delta_ok = 0)
set @email_body = @email_body+char(13)+char(10)+'ETL process has been stopped.'
Return
else
set @email_body = @email_body+char(13)+char(10)+'ETL process is copying the data .'
Commit Transaction;
Begin Catch
Rollback Transaction
End Catch
End Try
Так что мой вопрос заключается в том, что если поместить «RETURN» в оператор «if», это остановит SP?Как только условие нарушается?И перейти к «ИЛИ», если условие не выполняется?