写完DML语句(update, insert, delete)后,须要手动COMMIT,若是没有COMMIT,更新的内容会被保存到内存中,而不是提交到数据库中,将不会被其余Session(对话)看见。其余对话看到的是更新前的数据。当用户退出对话时,Oracle才会自动Commit。数据库
而DDL语句(create, alter, drop, truncate),自带COMMIT,因此不须要写COMMIT。所以,DDL操做不能被回滚。ui
执行完DML语句,若是再执行DDL语句,也会自动COMMIT未被COMMIT的数据。还有其余的SQL命令也有一样的效果:audit, noaudio, comment, grant, revoke, connect, disconnect, exit,quit.内存
若是打开自动提交,DML操做后也不须要手动提交。 SET AUTOCOMMIT ONit