求高手:什么情况下会发生隐式commit和隐式rollback

vanpes 2011-12-29 09:21:34
...全文
162 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
minitoy 2011-12-29
  • 打赏
  • 举报
回复
在别的时候提交。你可以选择显示提交,即手工提交commit或rollback。
或者在你执行下一个ddl的时候提交。
或在你断开连接时,按设置自动提交或回滚。
[Quote=引用 3 楼 vanpes 的回复:]

如果一个过程中有DML语句,但是没COMMIT,在过程调用结束后是否会自动提交DML语句,还是在别的时候调用?
[/Quote]
geniuswjt 2011-12-29
  • 打赏
  • 举报
回复
除了DML,其他都是隐式的
sangli00 2011-12-29
  • 打赏
  • 举报
回复
别auto commit
别给自己找不必要的麻烦
xpingping 2011-12-29
  • 打赏
  • 举报
回复
在数据库的插入、删除和修改操作时,只有当事务在提交到数据
库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看
到所做的事情,别人只有在最后提交完成后才可以看到。
提交数据有三种类型:显式提交、隐式提交及自动提交。下面分
别说明这三种类型。


(1) 显式提交
用COMMIT命令直接完成的提交为显式提交。其格式为:
SQL>COMMIT;


(2) 隐式提交
用SQL命令间接完成的提交为隐式提交。这些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。


(3) 自动提交
若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,
系统将自动进行提交,这就是自动提交。其格式为:
SQL>SET AUTOCOMMIT ON;

刚刚看到的资料……
vanpes 2011-12-29
  • 打赏
  • 举报
回复
如果一个过程中有DML语句,但是没COMMIT,在过程调用结束后是否会自动提交DML语句,还是在别的时候调用?
minitoy 2011-12-29
  • 打赏
  • 举报
回复
ddl
断开连接时,这个设置决定是commit还是rollback。

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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