事务完整性问题,各位大虾要仗义阿!

54286 2004-07-01 03:55:22
我想用存储过程保存主副表,其中副表可能有多条纪录,报存主表和子表用不同的存储过程。子表的纪录数目不定,有几条纪录就调用几次子表的存储过程。
这样,保持数据的一致性就比较困难。请问各位高手,如何使保持整个信息
的完整性阿.要求保存任何一条出错时,都能回滚到初始装态。
(分数不够,小第重新开贴追加)
...全文
119 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
adaizi1980 2004-07-01
  • 打赏
  • 举报
回复
试试这样:
BEGIN TRANSACTION 1
...
...
if
rollback TRANSACTION TRANSACTION1
BEGIN TRANSACTION TRANSACTION 2
...
...
if
rollback TRANSACTION TRANSACTION1
if
rollback TRANSACTION TRANSACTION2

...
...


...
commit TRANSACTION TRANSACTION2
commit TRANSACTION TRANSACTION1


smalldeer 2004-07-01
  • 打赏
  • 举报
回复
首先设置数据库事务操作为手动提交(默认为自动)

启动事务,
..操作1
..操作2
提交/回滚事务

java中这样
conn.setAutoCommit(false);
..操作1
..操作2
conn.commit();
conn.setAutoCommit(true);
zjcxc 元老 2004-07-01
  • 打赏
  • 举报
回复
在程序中开启事务
然后分别调用主表/从表的处理存储过程
最后在程序中提交或回滚事务.

34,576

社区成员

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

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