请教:oracle存储过程中使用游标和回滚怎么处理

boykings520 2011-11-10 10:19:04
各位大虾们:
开发环境为VisualStudio 2008 + ORACLE 11.0G ,要实现一个存储过程,先用游标查询一张A,然后将与A表的子表K内的ID为AID信息查询完整后于B表逐行匹配匹配,成功及对B表进行操作,同时在更新A表内容与C表生成一条记录,匹配不成功则不更新A表和B表,同时将错误信息写入临时表T,游标循环完成后则返回临时表T和C表的新增的记录;要求整个游标的循环的过程为一个事务,请问这种带游标和事务的存储过程怎么写比较好。
...全文
150 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
iqlife 2011-11-10
  • 打赏
  • 举报
回复
存储过程最后的时候加上COMMIT
在EXCEPTION里加上ROLLBACK
cosio 2011-11-10
  • 打赏
  • 举报
回复
概念都不一样,事务,有涉及到表的相关操作如delete,update 都建议带上事务的处理
游标,存储过程.这些你去看一下书吧!
我心飞翔 2011-11-10
  • 打赏
  • 举报
回复
事务开始于一个DML语句,
当发生以下情况时,事务结束:
1. COMMIT/ROLLBACK
2. 执行了DDL或DCL语句
3. 用户主动断开数据库连接。
4. 数据库服务器宕机。

可以在PL/SQL中使用SAVEPOINT来控制事物。
在一个PL/SQL块中从一个SAVEPOINT到另一个SAVEPOINT,可以定义事务。
使用SAVEPOINT命令可以把事务分解为多个单元,这样一个PL/SQL块中,有些单元可以被提交,有些可以被回滚。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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