写完DML语句(update, insert, delete)后,需要手动COMMIT,如果没有COMMIT,更新的内容会被保存到内存中,而不是提交到数据库中,将不会被其他Session(对话)看见。其他对话看到的是更新前的数据。当用户退出对话时,Oracle才会自动Commit。
而DDL语句(create, alter, drop, truncate),自带COMMIT,所以不需要写COMMIT。因此,DDL操作不能被回滚。
执行完DML语句,如果再执行DDL语句,也会自动COMMIT未被COMMIT的数据。还有其他的SQL命令也有同样的效果:audit, noaudio, comment, grant, revoke, connect, disconnect, exit,quit.
如果打开自动提交,DML操作后也不需要手动提交。 SET AUTOCOMMIT ON
oracle什么时候须要commit
今天在oracle的SQL plus 中运行了删除和查询操作,然后在PL/SQL中也运行查询操作,语句一样,结果却不一样,让我大感郁闷,后来才突然想到可能是两边数据不一致造成的,可是为什么不一致呢,就 ...
Oracle 的安全保障 commit &;checkpoint
Oracle 的安全 commit &checkpoint commit ---lgwr 事务相关的操作,保证事务的安全. commit标志着事务的结束.意味着别人对你事务操作的结果可见. c ...
oracle 尽量多使用COMMIT
只要有可能,在程序中尽量多使用COMMIT, 这样程序的性能得到提高,需求也会因为COMMIT所释放的资源而减少: COMMIT所释放的资源: a. 回滚段上用于恢复数据的信息. b. ...
#oracle恢复已被commit删除的内容</