我在Oracle DB中有3个表。我正在编写一个过程,根据某些条件删除所有3个表中的某些行。
我在过程中一一使用了所有三个delete语句。在执行上述存储过程时,在执行时是否发生任何自动提交?
否则,我是否需要在末尾手动编码提交?
最佳答案
在数据库级别没有自动提交,但是您使用的API可能具有自动提交功能。 From Tom Kyte。
也就是说,我想补充:
除非您要进行自主事务,否则应避免直接在过程From Tom Kyte中进行提交。
摘抄:
此外,还应注意,对于DDL(基于您的问题,听起来好像您在过程中未执行任何DDL,而只是将其列为潜在陷阱),Oracle在DDL之前和之后添加了隐式提交。 DDL。