(SQL 2005)
raiserror 是否可以终止存储过程。
例如,在大型系统中,我们得到了一个不希望输入到特定列中的值。在更新触发器中,如果您编写:
如果存在(从插入中选择 *,其中 testcol = 7)
开始
raiseerror('我的自定义错误', 16, 1)
结尾
更新信息仍然适用。
但是如果你跑
如果存在(从插入中选择 *,其中 testcol = 7)
开始
选择 1/0
结尾
抛出除 0 错误实际上会终止更新。
有什么方法可以通过 raiseerror 来做到这一点,以便我可以返回自定义错误消息?
在触发器中,发出 ROLLBACK、RAISERROR,然后 RETURN。
see SQL Server 中的错误处理 - 触发器上下文作者:Erland Sommarskog
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)