在DB2和MySQL的commit
语句之后可能需要select
时,我已经阅读了解释:
Is a commit needed on a select query in DB2?
Should I commit after a single select
我的问题是在使用Oracle执行commit
语句后,select
何时以及为何重要?
答案 0 :(得分:11)
如果您执行了SELECT ... FOR UPDATE;
,则需要COMMIT或ROLLBACK来释放为更新而持有的记录。否则,我想不出任何理由这样做。
答案 1 :(得分:11)
只有少数情况我可以想到你可能想要在select之后提交。
如果您的选择加入数据库链接,则会创建一个事务。如果您尝试关闭此链接,除非您提交/回滚了该交易,否则您将收到错误。
选择更新(如DCookie所说)以释放锁。
删除序列化隔离级别(如果已设置)或添加一个隔离级别,如果您在调用之前从db链接中选择。