有没有一种方法可以立即停止在SQL Server中执行SQL脚本,例如“ break”或“ exit”命令?我有一个脚本,该脚本在开始执行插入操作之前会进行一些验证和查找,并且如果任何验证或查找失败,我希望它停止。
3 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
如果可以使用SQLCMD模式,那么该咒语
:on error exit
(包括冒号)将导致RAISERROR实际上停止脚本。例如,
:on error exit
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SOMETABLE]') AND type in (N'U'))
RaisError ('This is not a Valid Instance Database', 15, 10)
GO
print 'Keep Working'
将输出:
Msg 50000, Level 15, State 10, Line 3
This is not a Valid Instance Database
** An error was encountered during execution of batch. Exiting.
批处理将停止。如果未打开SQLCMD模式,则将出现有关冒号的解析错误。不幸的是,它不是完全防弹的,就好像该脚本在未处于SQLCMD模式下运行时一样,SQL Managment Studio甚至在解析时间错误时都轻而易举!不过,如果您是从命令行运行它们,那很好。
- 3 回答
- 0 关注
- 1302 浏览
添加回答
举报
0/150
提交
取消