求方法存储过程中事务

feifei0504 2013-09-12 11:12:52
我新建了个存储过程,通过游标读取数据库表中数据,然后循环更新,中间涉及一次嵌套循环,为了预防出错我应该怎么加事务
循环语句

循环1
begin
...
更新表1
循环2
begin
...
更新表2
end
end
循环1更新表1,循环2更新表2,循环2是根据表1标识更新表2,两个表中都可能存在多条数据,为了确保数据准确,我应该怎么添加事务和事务节点呢
...全文
128 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
奔四在望 2013-09-12
  • 打赏
  • 举报
回复
确实没有非要游标才能解决的问题。。很多人都不喜欢用游标,我是能避免尽量避免
發糞塗牆 2013-09-12
  • 打赏
  • 举报
回复
那你就每个嵌套的外层加事务吧。不过作为一个整体,我觉得还是全部回滚好,另外....我基本上没见过非要游标才能解决的问题
feifei0504 2013-09-12
  • 打赏
  • 举报
回复
最外层加事务出错的时候是不是把所有数据都还原了?我现在希望只还原当前操作表1的1条数据,执行成功的不需要还原
發糞塗牆 2013-09-12
  • 打赏
  • 举报
回复
数据量不大的话直接在最外层加一个事务,用try catch来判断
發糞塗牆 2013-09-12
  • 打赏
  • 举报
回复
如果上一条数据和下一条数据之间有关系,比如下一条需要上一条的结果做基础这种逻辑,那2005以后可以考虑使用CTE这个新功能,效率不错。如果完全没啥关联,那就是集合操作,一次性处理。
feifei0504 2013-09-12
  • 打赏
  • 举报
回复
不用游标怎么循环表?

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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