【问题标题】:Commit statement after Stored Function with select query使用选择查询在存储函数之后提交语句
【发布时间】:2014-09-23 11:32:37
【问题描述】:

使用选择查询运行存储函数后是否需要发出提交命令?

【问题讨论】:

  • 如果你从@dblink 中选择,那么你最好在那之后回滚。

标签: sql oracle


【解决方案1】:

是的,在某些情况下确实如此(请阅读下面链接中的讨论)。规则是:如果您在 DB 中进行了更改(在 DML 命令之后),则始终提交,即使使用 SELECT 语句。

使用 COMMIT 语句来结束您当前的事务,并使在事务中执行的所有更改永久化。

阅读更多:oracle - what statements need to be committed?

感谢@Ben 的提醒!

【讨论】:

【解决方案2】:

commit 表示“保存更改”

select 语句不会改变任何数据。

可以通过插入、更新、删除语句(数据操作语言)来更改数据。

【讨论】:

【解决方案3】:

只有在存储过程中执行了 DML 语句(INSERT、DELETE、UPDATE、MERGE)时,才需要提交 sql 语句。所以,如果只查询数据,就不用commit了。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多