oracle - 在 PL/SQL 过程中,哪些语句会导致提交?

标签 oracle plsql commit oracle11gr2

我在 Oracle 11g 中编写了一个 PL/SQL 过程。我没有 truncate , createcommit声明,但 session 仍在提交。我正在使用 SQL Developer 和 PL/SQL Developer。

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

最佳答案

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

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

一些 DBMS packages也有提交的过程,例如 DBMS_STATS .将它们全部列出来会很麻烦。使用 DBMS 包时,请阅读相应的文档。

关于oracle - 在 PL/SQL 过程中,哪些语句会导致提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10894645/

相关文章:

git - 如何使用带有 "git commit"的编辑器?

oracle - oracle中的分组存储过程

oracle - 如何使用非默认 NLS_NUMERIC_CHARACTERS 在 Oracle PL/SQL 中有效地将文本转换为数字?

oracle - 为什么这个包会泄漏打开的游标?

svn - Subversion 中的忽略文件从 svn :ignore property 中删除旧值

命令行中的 SVN - 如何导入,然后提交

linux - ORA-00119 : invalid specification for system parameter LOCAL_LISTENER

oracle - 在 Oracle pl/sql 函数中定义类型

java - 从 Oracle 返回的年份值错误地显示为 0013

php - 调用从 PHP 执行插入/更新的 Oracle 函数?