我发现有人经常 “滥用” ORACLE 中的 COMMIT 和 ROLLBACK 的用法。
首先,大家要清楚 COMMIT / ROLLBACK ,都是用在执行 DML 语句之后的。所谓 DML 语句就是 INSERT / DELETE / UPDATE / SELECT ,而 CREATE TABLE / VIEW 之类的语句,是 DDL。
DML 语句,执行完之后,处理的数据,都会放在回滚段中(除了 SELECT 语句),等待用户进行提交(COMMIT)或者回滚 (ROLLBACK),当用户执行 COMMIT / ROLLBACK 后,放在回滚段中的数据就会被删除。
所有的 DML 语句都是要显式提交了,所谓“显式提交”,就是要执行 COMMIT / ROLLBACK 。
而其他的诸如 DDL 语句的,都是隐式提交的。就是说,不用进行 COMMIT / ROLLBACK 。在运行那些非 DML 语句后,ORACLE 已经进行了隐式提交,例如 CREATE TABLE,在运行脚本后,表已经建好了,并不在需要你再进行显式提交。
所以那些对显式提交有疑问的人,希望这篇文章对大家有用。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/77580/viewspace-212750/
,如需转载,请注明出处,否则将追究法律责任。