14

我已经阅读了DB2 和 MySQL 声明commit后可能需要a 的解释:select

DB2 中的选择查询是否需要提交?

我应该在单次选择后提交吗

我的问题是在使用 Oraclecommit执行语句之后何时以及为什么重要?select

4

2 回答 2

13

我能想到的只有几种情况,您可能希望在选择后提交。

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

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

  3. 如果设置或添加一个序列化隔离级别,则删除序列化隔离级别,如果您在调用此之前一直从数据库链接中进行选择。

于 2013-01-21T10:25:56.587 回答
12

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

于 2013-01-20T23:14:00.610 回答