上一篇 | 下一篇

DB2 Universal Database 中创建第一个触发器

发布: 2008-7-01 13:40 | 作者: admin | 来源: | 查看: 0次

DB2 Universal Database 中创建第一个触发器

热 荐

【字体:小 大】

DB2 Universal Database 中创建第一个触发器

作者:- 文章来源:- 点击数:820 更新时间:2006-4-22

Kulvir Singh Bhogal

IBM Software Services for Websphere, Fort Worth, TX

2003 年 8 月 创建 DB2 触发器并没有那么复杂。和 Kulvir Singh Bhogal 一起,他将介绍在虚拟银行场景中创建触发器的全过程。

简介

当特定事件在 IBM® DB2® Universal Database™ 数据库中发生时,您就可以激活 触发器来执行其他一些操作。在本文中,您将在触发器的世界里遨游,看看如何通过触发器来增强数据库中的业务规则。您还将学习如何使用 DB2 UDB Version 8.1 的控制中心来帮助您创建一个应用于简单业务场景的简单触发器。

什么是触发器

当一个指定的 SQL 操作(如 DELETE,INSERT,或者是 UPDATE 操作)作用于某张表时,一个定义了一组操作的触发器就可以被激活。触发器并不像参照完整性约束和检查约束那样,我们甚至可以使用对其他表来进行更新。

业务场景

将一项技术应用于真实世界的一个场景总是有益的。出于教学的目的,让我们在一个银行相关环境中研究触发器,在该模拟环境中,我们仅仅建立了一张表。再次强调,这是被简化了的!我们将要做的是,运用触发器来促进银行提供的透支保护。例如,一个银行客户有一个支票帐户(checking account)和一个储蓄帐户(saving account)。当从支票帐户中取款的金额超过了该帐户的余额时,就会发生一次自动的转帐(叫做透支保护),即自动从客户的储蓄帐户转帐过来。当然,这必须符合一定的条件,即储蓄帐户中必须有足够多的钱来补偿透支的金额。

开始

像上面所提及的,我们的银行仅仅包含一张表。在这张表中,我们将存入客户的支票帐户和储蓄帐户的余额等信息。每个客户通过其社会保险号码来标识。下面是对该表的描述:

表 1. 对 ACCTTABLE 的描述

Column Name Column Type Nullable? SSN* Varchar(11) NO LastName Varchar(30) NO FirstName Varchar(30) NO SavingBalance Decimal (Precision: 7, Scale: 2) NO CheckingBalance Decimal (Precision: 7, Scale: 2) NO

字号: | 推荐给好友

评分:0

我来说两句