我一直没怎么用过 oracle, 直到最近才用到 oracle 9i. 作为开发人员,我一般只要用 PLSQL_Developer 来连数据库就可以了。我的习惯是开个 sql 窗口,敲上要执行的语句,然后按 F8 执行。但我发现了一个问题,比如 update 操作和 delete 操作,我在某个 sql 窗口里敲上一条 delete 语句,按 F8 执行后,然后再在此窗口里写条查询语句,按 F8 看执行结果,发现要删除的语句依然存在,看来 F8 只是执行了语句,但并没有提交事务。但如果用 F8 在执行了某条 delete 或 update 语句后,关闭当前的 sql window ,再新开一个 sql window 查询结果,发现 delete 或 update 操作已成功。由此推断,再 sql window 关闭时, pl_sqldeveloper 强制提交了数据库事务。