我有5个动态SQL insert在TRY CATCH中运行,但是CATCH块没有让运行这段代码的父存储过程知道它可能失败了。我需要在每个动态SQL后面添加一个RAISERROR,以便在出现错误时进行标记。
每个dSQL都以
EXEC sp_executesql @SQL, @param_definition, @param我是在每次调用之后调用RAISERROR,还是在CATCH中只需要一个
谢谢
发布于 2017-06-29 23:12:00
只要动态查询不包含任何TRY/ CATCH,那么CATCH中的THROWing (或SQL2012之前的RAISERROR )就足够了。喜欢
begin try
. . .
EXEC sp_executesql @SQL, @param_definition, @param
. . .
EXEC sp_executesql @SQL, @param_definition, @param
. . .
EXEC sp_executesql @SQL, @param_definition, @param
end try
begin catch
throw
end catchhttps://stackoverflow.com/questions/44828572
复制相似问题