0

这个问题与这个问题部分相关

为什么我的事务在使用以下 SQL 时没有回滚:

INSERT INTO TESTSCHEMA."test" (ID, NAME) VALUES (11111, 'SDFASDFASD');

ROLLBACK;

正如我从 DB2/iSeries 文档中了解到的:

ROLLBACK 语句用于结束一个工作单元并撤销该工作单元所做的数据库更改。

什么是工作单元开始或结束的指标?在上面提到的例子中会回滚什么?

我将非常感谢所有答案和链接。

PS。我正在使用 DB2/iSeries V5R4。

聚苯乙烯。对不起,我的英语不好

4

2 回答 2

2

DB2 中的一切都是在事务范围内完成的。事务以 COMMIT(显式或隐式)或 ROLLBACK 结束。

请记住,默认情况下,许多客户端将 autoCommit 参数设置为 true,这意味着在每个语句之后都有一个隐式 COMMIT。

因此,在您上面的示例中,我将假设 autoCommit 已打开,并且 INSERT 已立即提交。因此,ROLLBACK 语句什么也没做。

于 2011-02-09T17:05:01.187 回答
0

这是v5r4 的 iSeries Commitment Control 主题

这是v5r4 的 IBM Toolbox for Java Commitment Control 主题

于 2011-02-23T02:24:44.633 回答