首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态SQL和RAISERROR

动态SQL和RAISERROR
EN

Stack Overflow用户
提问于 2017-06-29 22:54:14
回答 1查看 596关注 0票数 0

我有5个动态SQL insert在TRY CATCH中运行,但是CATCH块没有让运行这段代码的父存储过程知道它可能失败了。我需要在每个动态SQL后面添加一个RAISERROR,以便在出现错误时进行标记。

每个dSQL都以

代码语言:javascript
复制
EXEC sp_executesql @SQL, @param_definition, @param

我是在每次调用之后调用RAISERROR,还是在CATCH中只需要一个

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-06-29 23:12:00

只要动态查询不包含任何TRY/ CATCH,那么CATCH中的THROWing (或SQL2012之前的RAISERROR )就足够了。喜欢

代码语言:javascript
复制
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 catch
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44828572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档