当前位置: 代码迷 >> Oracle管理 >> oracle中关于return的疑点
  详细解决方案

oracle中关于return的疑点

热度:38   发布时间:2016-04-24 05:01:52.0
oracle中关于return的疑问
1.在oracle存储过程中,如果更新了一部分数据未COMMIT,但却return了,会不会自动回滚?是否需要加上rollback在前面再return?

2.oracle存储过程里面没有写rollback或者commit,oracle执行完存储过程后,是否不自动提交?

------解决方案--------------------
1.return是返回,跳出执行,不会自动回滚,如果是想全部更新后commit,return时回滚的话,就手动加上rollback吧
2.存储过程如果是在sql*plus中调用的话,不加commit,则不会自动提交,但程序中不加commit,也会自动提交的
------解决方案--------------------
1、不会自动回滚
2、
SQL> show autocommit
autocommit OFF
你设置成on就自动commit了
------解决方案--------------------
2.3楼回答都正确。
------解决方案--------------------
探讨
1.return是返回,跳出执行,不会自动回滚,如果是想全部更新后commit,return时回滚的话,就手动加上rollback吧
2.存储过程如果是在sql*plus中调用的话,不加commit,则不会自动提交,但程序中不加commit,也会自动提交的
  相关解决方案