(SQL 2005) raiserror 是否可以终止存储过程。
例如,在一个大型系统中,我们有一个不希望输入到特定列中的值。如果您编写,则在更新触发器中:
如果存在 (select * from inserted where testcol = 7) begin raiseerror('My Custom Error', 16, 1) end
更新信息仍然适用。但是如果你跑
如果存在(从插入的地方选择 * testcol = 7)开始选择 1/0 结束
抛出一个除以 0 的错误,实际上终止了更新。有什么办法可以通过 raiseerror 来做到这一点,以便我可以返回自定义错误消息?