Tsql 具有多个GO的脚本中的SQL GOTO语句
如果某个条件成立,我需要在没有错误的情况下退出SQL脚本。我已经读到了一种解决方案,即使用错误代码20+和日志参数Tsql 具有多个GO的脚本中的SQL GOTO语句,tsql,goto,raiseerror,Tsql,Goto,Raiseerror,如果某个条件成立,我需要在没有错误的情况下退出SQL脚本。我已经读到了一种解决方案,即使用错误代码20+和日志参数来raiseerror。但限制是,我只能以管理员的身份执行,与数据库的连接将被中止 此外,我尝试使用Goto并跳转到脚本的末尾,但它不起作用,因为在脚本中间有多个GO。还有别的解决办法吗 IF 开始 后藤完成 结束 转到 Finished: 选择“完成” 谢谢 goto无法跳过go。您必须重新测试每个块中的条件: IF NOT <some condition> BEGI
来raiseerror
。但限制是,我只能以管理员的身份执行,与数据库的连接将被中止
此外,我尝试使用Goto并跳转到脚本的末尾,但它不起作用,因为在脚本中间有多个GO。还有别的解决办法吗
IF
开始
后藤完成
结束
转到
Finished:
选择“完成”
谢谢 goto
无法跳过go
。您必须重新测试每个块中的条件:
IF NOT <some condition>
BEGIN
...
END
GO
IF NOT <some condition>
BEGIN
...
END
GO
IF NOT <some condition>
...
如果没有
开始
...
结束
去
如果不是
开始
...
结束
去
如果不是
...
SQL中没有GOTO
。你可能是指一种特定的方言吗?@Ignacio Vazquez Abrams-t-sql有一个GOTO语句。是的,t-sql。如果我在开始之前声明了标签,那么一切都正常。否则,它会抱怨它是未声明的+1,它要么是this,要么使用EXEC(@SQL)
来处理这个需要GO的东西,然后您可以使用GOTO
。