如果没有DB2中的保存点,回滚是否可以正常工作?

时间:2011-02-09 16:03:10

标签: transactions db2 rollback ibm-midrange unit-of-work

此问题部分与this one

有关

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

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

ROLLBACK;

正如我在DB2 / iSeries文档中所知:

  

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

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

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

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

PPS。抱歉我的英文不好

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)