哪些语句都会导致PL / SQL过程中的提交?

时间:2012-06-05 09:17:52

标签: oracle plsql commit oracle11gr2

我在Oracle 11g中编写了一个PL / SQL过程。我没有truncatecreatecommit语句,但会话仍在提交。我正在使用SQL Developer和PL / SQL Developer。

有人可以告诉我哪些语句会导致过程或函数内的提交吗?

1 个答案:

答案 0 :(得分:5)

所有DML语句(INSERT / DELETE / UPDATE / MERGE)都不在PL / SQL中提交。

所有DDL语句确实提交(ALTER / CREATE ...),即使语句失败也是如此。如果您正在运行运行DDL的动态语句(EXECUTE IMMEDIATE),那么这也将提交您的事务。

某些DBMS packages也有提交的过程,例如DBMS_STATS。列出所有内容将非常麻烦。在使用DBMS包时,请阅读相应的文档。