DB29.7自治事务的定义与相关事务背景

此文章主要向大家讲述的是DB2 9.7自治事务的定义与对其在实际操作中的一些事务背景的描述,我们大家都知道了解 IBM DB2® Version 9.7 for Linux®, UNIX®, and Windows® 中引入的自治事务特性。您将获得有关自治事务的定义和创建方式的概述和示例。

创新互联是一家专注于网站设计、网站建设与策划设计,白朗网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:白朗等地区。白朗做网站价格咨询:13518219792

简介

本文将介绍 DB2 9.7自治事务特性。自治事务与数据库管理员和应用程序开发人员都有密切的关系。

本文将讨论 DB2 9.7 for Linux, UNIX, and Windows。掌握 DB2 命令行处理器(CLP)和 SQL PL 的知识将非常有帮助。

要运行本文中的示例,需要访问 DB2 9.7 for Linux, UNIX, and Windows 数据库。从 参考资料 部分查找下载 DB2 试用版的链接。

了解一些事务背景

事务是以文本、列(或同时使用两者)的形式表现的来自真实世界的实体,将由数据库管理系统处理。它们可以作为针对数据库执行的操作,并且必须作为一组操作执行。

例如,从用户 A 的帐户将 X 金额传输到用户 B 的帐户,这个请求是一个非常简单的事务。这个事务可以被分解为两个 SQL 语句,如清单 1 所示:

清单 1. 简单事务的示例

 
 
 
  1. Update table AccountInfo set CurrentBalanceCurrentBalance = CurrentBalance - X, where UserName=A   
  2. Update table AccountInfo set CurrentBalanceCurrentBalance = CurrentBalance + X, where UserName=B  

只有在两条 SQL 语句都能够成功更新表的情况下,事务才会得到成功调用。为了确保两条语句都能够生效或都不生效,应用程序将以这样的方式运行:直到 COMMIT 发生之前,数据库不会做出任何更改。发生 COMMIT 时,所有未提交的语句(自最近一次 COMMIT 之后的所有语句)将同时生效,确保数据的完整性。这类似于禁用命令行处理器(CLP)的 AUTO COMMIT 行为,然后发出一组语句并手动完成 COMMIT 操作。ROLLBACK 将移除所有未提交的修改。因此 COMMIT 和 ROLLBACK 语句是事务实现的重要构建块。

自治事务简介

DB2 9.7自治事务拥有自己的 COMMIT 和 ROLLBACK 范围,确保它的结果不会影响到调用方的未提交的变更。此外,调用会话中的 COMMITs 和 ROLLBACKs 不应当影响自治事务本身完成时发生的***更改。

注意,调用会话将被暂停,直到被调用的会话返回控制权。自治事务的支持不应该视为支持并行执行会话。

创建自治事务

在 DB2 中,自治事务通过自治过程实现。存储过程为将语句绑定到块中提供了一种自然的方式。要创建自治过程,需要在 CREATE PROCEDURE 语句中指定关键字 AUTONOMOUS,如清单 12 所示。

清单 2. CREATE PROCEDURE 语句示例

 
 
 
  1. CREATE OR REPLACE your_procedure_name  
  2. LANGUAGE SQL  
  3. AUTONOMOUS  
  4. BEGIN   
  5. do autonomous work ;  
  6. END 

在调用自治过程时,将在独立的会话中执行,以提供必需的事务独立性。成功的自治过程将使用隐式方式提交,而失败的自治过程将执行回滚。无论哪一种情况,都不会影响调用事务。

新闻名称:DB29.7自治事务的定义与相关事务背景
分享地址:http://www.shufengxianlan.com/qtweb/news13/487263.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联