oracle中关于return的疑点

oracle中关于return的疑问1.在oracle存储过程中,如果更新了一部分数据未COMMIT,但却return了,会不会自动回

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,也会自动提交的