科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在DB2中创建第一个触发器

在DB2中创建第一个触发器

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

当特定事件在 IBM DB2 Universal Database 数据库中发生时,您就可以激活 触发器来执行其他一些操作。在本文中,您将在触发器的世界里遨游,看看如何通过触发器来增强数据库中的业务规则。

来源:IT专家网 2008年6月10日

关键字: IBM 数据库 DB2

  • 评论
  • 分享微博
  • 分享邮件

图 2. 选择模式
Figure 2.

在同一个屏幕中, 需要指定一个触发器的名字。将触发器命名为 OVERDRAFT。而且,需要指定与该触发器相关的表的名字。这里选择您创建的 ACCTTABLE

图 3. 选择您创建的表
Figure 3.

Time to trigger action区域中,选择 Before

图 4. 选择 Before
Figure 4.

Operation that causes the trigger to be executed区域中选择 Update of columns 操作并且指定被操作列为 CHECKINGBALANCE

图 5.
Figure 5. Specify the column name

点击 Triggered action标签页来创建该触发器:

图 6. 构建触发器
Figure 6.

指定临时变量
DB2 UDB 能够跟踪在启动触发器的那条语句之前和之后的一行的状态。请在 Correlation name for the old rows 一栏中填入 OLDROW,Correlation name for the new rows 一栏中填入 NEWROW

图 7. 指定 NEWROW
Figure 7.

注意,您也许无法指定其中的一个 correlation name,因为它依赖于引起触发器启动的特定操作和激活时间的组合。例如,假设您的触发器选择的 Time to trigger actionBefore,触发事件是 DELETE 语句。在这种情况下,我们就无法指定一个 "Correlation name for the new rows"。为什么呢?因为在执行了一个删除操作以后,新行是不存在的。

因为您创建的触发器是在 UPDATE 之前被激活,所以不能编辑 Temporary table for the old rowsTemporary table for the new rows选项。

您将注意到,在这种情况下(一个在 UPDATE 之前被激活的触发器),您只能指定触发器针对 而不是针对每个 语句触发。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章