throw
如果任何语句由于错误而失败,是否有任何方法可以自动生成存储过程?
我在一个存储过程中,merge
其中有一条语句可能由于主键违规而失败,但执行仍在继续。
我必须求助于if @@error != 0 throw ...
任何地方吗?
编辑:我正在使用 MS SQL Server 2012
编辑:这似乎可行,但有没有更简洁的解决方案?似乎在遇到错误时引入了try/catch
使流程跳转到块。catch
从那里我只是重新抛出异常。
begin try
....do lots of sql code
end try
begin catch
throw;
end catch