请教:存储过程中的事务控制问题.

wag_enu 2010-05-11 09:38:02
有存储过程A ,在其开始处有 begin tran tA ,在结尾处根据语句执行情况有 rollback tran tA 或是 commint tran tA
单独执行存储过程A 没有问题.

现有存储过程B , 其中的事务tB 和A 中的tA 的结构类似.
不同的是在B过程中的 begin tran tB 和 rollback tran tB 或 commint tran tB中间有 exec A.
执行过程B 总是提示在A过程中rollback tran tA 事务找不到什么tA 保存点...

这种情况要怎么调整呢?
...全文
95 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyu112 2010-05-11
  • 打赏
  • 举报
回复
去掉A中的事务
永生天地 2010-05-11
  • 打赏
  • 举报
回复
A中加个保存点试试
Garnett_KG 2010-05-11
  • 打赏
  • 举报
回复
去掉储过程A内的事务后, 掉储过程B的开头加上 SET XACT_ABORT ON
Garnett_KG 2010-05-11
  • 打赏
  • 举报
回复
最简单的做法是去掉存储过程A内的事务。
东那个升 2010-05-11
  • 打赏
  • 举报
回复
修改A



alter proc A
...
AS
begin tran

save tran tA
。。。。

IF....

ROLLBACK TRAN TA

COMMIT TRAN
calvinwon 2010-05-11
  • 打赏
  • 举报
回复
顶顶顶
jwdream2008 2010-05-11
  • 打赏
  • 举报
回复
帮顶!!
wag_enu 2010-05-11
  • 打赏
  • 举报
回复
再顶一下, 谢谢!
prcgolf 2010-05-11
  • 打赏
  • 举报
回复
顶顶,呵呵
wag_enu 2010-05-11
  • 打赏
  • 举报
回复
沉得好快!

我的A 过程是写好了的, 需要在程序中经常单独调用的.
有没有其它的办法呢?

34,588

社区成员

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

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