3

如果某个条件成立,我需要在没有错误的情况下退出 SQL 脚本。我读过 1 解决方案是raiseerror使用错误代码 20+ 和with log参数。但这样做的限制是我只能以管理员身份执行该操作,并且与数据库的连接将被中止。

另外,我尝试使用 GOTO 并跳转到脚本的末尾,但它不起作用,因为我在脚本中间有多个 GO。还有其他解决方案吗?

IF <some condition> BEGIN
GOTO Finished;
END
GO

Finished:
SELECT 'Done'

谢谢!

4

1 回答 1

4

goto不能跳过 a go。您必须重新测试每个块中的条件:

IF NOT <some condition> 
BEGIN
   ...
END
GO
IF NOT <some condition> 
BEGIN
   ...
END
GO
IF NOT <some condition> 
...
于 2010-10-11T20:22:29.493 回答