【发布时间】:2014-09-23 11:32:37
【问题描述】:
使用选择查询运行存储函数后是否需要发出提交命令?
【问题讨论】:
-
如果你从@dblink 中选择,那么你最好在那之后回滚。
使用选择查询运行存储函数后是否需要发出提交命令?
【问题讨论】:
是的,在某些情况下确实如此(请阅读下面链接中的讨论)。规则是:如果您在 DB 中进行了更改(在 DML 命令之后),则始终提交,即使使用 SELECT 语句。
使用 COMMIT 语句来结束您当前的事务,并使在事务中执行的所有更改永久化。
阅读更多:oracle - what statements need to be committed?
感谢@Ben 的提醒!
【讨论】:
commit 表示“保存更改”
select 语句不会改变任何数据。
可以通过插入、更新、删除语句(数据操作语言)来更改数据。
【讨论】:
只有在存储过程中执行了 DML 语句(INSERT、DELETE、UPDATE、MERGE)时,才需要提交 sql 语句。所以,如果只查询数据,就不用commit了。
【讨论】: