DB2数据库创建触发器的实现过程

DB2数据库操作中,我们常常会使用到触发器,这对于我们初学者来说似乎有一点点的难度。不过没关系,本文我们就介绍了一些DB2数据库触发器方面的一些知识,并给出了一个创建触发器的实例,对于初学者来说,如果您不太懂,也可以直接套用下面的实例来完成触发器的创建。接下来就让我们一起来了解一下这部分内容。

建一个触发器,应包含以下部分:

触发器名字:……

触发器触发事件:insert,delete,update

激活时间:before,after

粒度:for each statement,for each row

过渡变量:

old row:表示触发事件之前被修改的值:

new row表示触发事件之后被修改的值

old table表示触发事件之前全部被修改行的一个只读假想表

new table表示触发事件之后全部被修改行的一个假想表

触发条件:由WHEN开始,可包含一个或多个谓词,可包含过渡变量和子查询。

触发体:由一个或多个SQL语句组成。

创建DB2触发器的一个实例:

 
 
  1. CREATE TRIGGER REORDER  
  2.  
  3. AFTER UPDATE OF ON_HAND, MAX_STOCKED ON PARTS  
  4.  
  5. REFERENCING NEW AS N_ROW  
  6.  
  7. FOR EACH ROW MODE DB2SQL  
  8.  
  9. WHEN (N_ROW.ON_HAND < 0.10 * N_ROW.MAX_STOCKED  
  10.  
  11. AND N_ROW.ORDER_PENDING = 'N')  
  12.  
  13. BEGIN ATOMIC  
  14.  
  15. VALUES(ISSUE_SHIP_REQUEST(N_ROW.MAX_STOCKED -  
  16.  
  17. N_ROW.ON_HAND,  
  18.  
  19. N_ROW.PARTNO));  
  20.  
  21. UPDATE PARTS SET PARTS.ORDER_PENDING = 'Y' 
  22.  
  23. WHERE PARTS.PARTNO = N_ROW.PARTNO;  
  24.  
  25. END 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值