此问题部分与this one
有关使用以下SQL时为什么不回滚我的事务:
INSERT INTO TESTSCHEMA."test" (ID, NAME) VALUES (11111, 'SDFASDFASD');
ROLLBACK;
正如我在DB2 / iSeries文档中所知:
ROLLBACK语句用于结束工作单元并撤消该工作单元所做的数据库更改。
工作单元开始或结束的指标是什么?在上面提到的例子中会回滚什么?
我非常感谢所有答案和链接。
PS。我正在使用DB2 / iSeries V5R4。
PPS。抱歉我的英文不好
答案 0 :(得分:2)
DB2中的所有内容都在事务范围内完成。事务以COMMIT(显式或隐式)或ROLLBACK结束。
请记住,默认情况下,许多客户端都将autoCommit参数设置为true,这意味着在每个语句之后都有一个隐式COMMIT。
因此,在上面的示例中,我将假设autoCommit已启用,并且INSERT立即提交。因此,ROLLBACK语句什么也没做。
答案 1 :(得分:0)