SQL GOTO оператор в скрипте с несколькими GO - PullRequest
3 голосов
/ 11 октября 2010

Мне нужно выйти из сценария SQL без ошибки, если выполняется определенное условие.Я читал, что 1 решение было бы raiseerror с кодом ошибки 20+ и параметром with log.Но ограничением для этого является то, что я могу выполнить это только как администратор, и соединение с БД будет прервано.

Кроме того, я попытался использовать GOTO и перейти к концу сценария, но это не работает, потому что в середине сценария у меня несколько GOЕсть ли другое решение?

IF <some condition> BEGIN<br> GOTO Finished;<br> END<br> GO

Finished:<br> SELECT 'Done'

Спасибо!

1 Ответ

4 голосов
/ 12 октября 2010

goto не может прыгнуть мимо go.Вам нужно будет повторно протестировать условие в каждом блоке:

IF NOT <some condition> 
BEGIN
   ...
END
GO
IF NOT <some condition> 
BEGIN
   ...
END
GO
IF NOT <some condition> 
...
...