Moh*_*han 5 plsql plsqldeveloper
我是PL/SQL编程的新手.我试着在代码中编写带有一些DML语句(插入)的pl/sql过程.在pl/sql代码中执行插入操作后,我没有进行任何显式提交.但是在执行pl/sql过程后,事务将被提交.
这是默认行为吗?
我怎么能控制这个?
DML语句(INSERT/DELETE/UPDATE/MERGE)不在PL/SQL中执行自动提交.DDL语句确实提交(ALTER/CREATE等),即使出现故障也会发生这种情况.如果您正在运行EXECUTE IMMEDIATE,就像运行DDL的动态语句一样,那么这也将提交您的事务.自2000年以来,它就像[并将继续]一样
像SQL*Plus这样的客户端接口具有可以关闭/打开的自动提交功能,可以在客户端文档中查找.就像是
SET AUTOCOMMIT OFF
Run Code Online (Sandbox Code Playgroud)
您可以看到此变量的当前状态
SHOW AUTCOMMIT
Run Code Online (Sandbox Code Playgroud)
这会告诉你它是否开/关.
通过走这为自动提交的更多的变化