选择后提交

时间:2013-01-20 23:11:04

标签: sql oracle select commit

在DB2和MySQL的commit语句之后可能需要select时,我已经阅读了解释:

Is a commit needed on a select query in DB2?

Should I commit after a single select

我的问题是在使用Oracle执行commit语句后,select何时以及为何重要?

2 个答案:

答案 0 :(得分:11)

如果您执行了SELECT ... FOR UPDATE;,则需要COMMIT或ROLLBACK来释放为更新而持有的记录。否则,我想不出任何理由这样做。

答案 1 :(得分:11)

只有少数情况我可以想到你可能想要在select之后提交。

  1. 如果您的选择加入数据库链接,则会创建一个事务。如果您尝试关闭此链接,除非您提交/回滚了该交易,否则您将收到错误。

  2. 选择更新(如DCookie所说)以释放锁。

  3. 删除序列化隔离级别(如果已设置)或添加一个隔离级别,如果您在调用之前从db链接中选择。