You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server如何在@variable为true时触发RAISERROR终止脚本

解决方案

RAISERROR为控制流语句,无法直接搭配WHERE子句实现条件触发,需通过IF条件判断封装终止逻辑。

适用SQL Server所有版本的实现

IF @Variable = 'True'
BEGIN
    RAISERROR('脚本终止:触发变量条件', 18, -1) WITH NOWAIT
    RETURN
END
  • RETURN会直接终止当前批处理的后续执行,WITH NOWAIT参数会立即把错误信息输出到消息栏,避免缓存延迟。
  • 如果@Variable为BIT类型(SQL标准布尔量类型),把判断条件改为IF @Variable = 1即可,不需要加字符串引号。

SQL Server 2012及以上版本更简洁的实现

推荐优先使用THROW替代已过时的RAISERROR:

IF @Variable = 'True'
BEGIN
    THROW 50001, '脚本终止:触发变量条件', 1;
END
  • THROW默认触发严重级别为16的错误,无需额外声明即可终止当前脚本执行,语法更简洁规范。

内容的提问来源于stack exchange,提问作者Jasper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:24:03