SQL2005 触发器中ROLLBACK TRAN和RAISERROR同时使用问题

qq_37693160 2017-11-28 05:29:01
如下:SQL2005 触发器中ROLLBACK TRAN和RAISERROR同时使用,发现RAISERROR不能正常弹出提示,而是提示“分布式事务已经完成,请将此回话登记到........”。

我的本意是如果不通过,前面的操作回滚,所以加了ROLLBACK TRAN。
如果去掉 ROLLBACK TRAN,会达到一样的效果吗?
另外听说这是2005特有的问题?


--前面是更新和插入操作

select @InterId=fid from t_BOS_HT where fbillno=@FCarOrderNo

select @FConnectFlag=count(1) from t_BOS_CLCK where FID_SRC=@InterId and FClassID_SRC='200000077'

IF @checkerId = 16
AND @FConnectFlag >= 1
BEGIN
ROLLBACK TRAN
RAISERROR('合同已经下推单据出库,不能驳回',18,18)
END
...全文
270 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧