题
什么是相当于以下SQL服务器的声明在DB2?
- 开始交易
- 提交事务
- 回退的交易
解决方案
看看 在这里, 对于一个例子。但基本上
BEGIN TRANSACTION
COMMIT TRANSACTION
ROLLBACK
其他提示
答案实际上是有点复杂得多,指出在这里。诚然,交易ANSI标准化,并DB2 可 支持他们。
DB2z/操作系统可以是一个非常不同的野兽从其他变体(FOR Linux的Unix窗,正在最常见的).在风险,滑向一个夸夸其谈,这使得这个想法的谈DB2几乎毫无意义的。你正在谈论的一些具体的变IBM的数据库,但什么工作在一个可以完全无效,在另一个。我会假定,无论味的运用并不是z/操作系统之一,由于 BEGIN TRANSACTION
回答被接受。
对那些偶然遇到了这种尝试使用交易DB2z/操作系统,这是纲要:DB2用于大型机没有明确的交易。有没有 BEGIN TRANSACTION
或任何其他类似的结构。交易是经开始隐含地(通常称为单位的工作文件)以及提交或回滚明确地(通常--许多GUI工具,就像癞蛤蟆,有一个自动提交的功能,可以偷袭你曾经在一段时间).
从9.1z/OS SQL参考手册(第28页;可以在 http://www-01.ibm.com/support/docview.wss?uid=swg27011656#manuals):
"一单元的工作启动时应用过程是发起的。一个单元的工作 还发起的当前工作单元是结束了比其他的东西 应用程序结束过程。一个单元的工作结束时通过一个提交的操作, 一个完整的回滚操作,或者结束的应用程序的过程。提交或回滚 操作仅影响的数据库作出的改变内部的工作结束。"
最近的事情,你当编写脚本是用手指定一个保存点。
这些看起来是这样的:
SAVEPOINT A ON ROLLBACK RETAIN CURSORS;
UPDATE MYTABLE SET MYCOL = 'VAL' WHERE 1;
ROLLBACK WORK TO SAVEPOINT A;
从表面上看,这些类似于明确的交易,但它们不是。相反,他们真的只是点时间在一个隐含的交易。对许多用途,它们可能就足够了,但重要的是要注意的概念性差异。