zoukankan      html  css  js  c++  java
  • DB2控制中心创建触发器

    转自:http://wly719.iteye.com/blog/502578

    由于公司项目的需要,让我这个对db2一点不通的人来写个触发器。没办法,查资料,现在终于有点小成果,记录下。 

    在触发器上右击->创建,出现下面界面 
     
    创建触发器的名字,选择表视图模式,表视图名称 
     

     

    选择已触发操作,出现界面 

     


    由于之前选择执行触发操作是插入,所以只有新行相关名,在下面的已触发的操作里面写触发语句,触发器的语句要求比较严格,有很多的限制。 

    贴一个最简单的例子 

    /* 
    作用:当dest表的字段ziduan1的值>110的话,向src表中插入数据120,120,120,否则抛出错误,错误编号好像必须是5位 
    */ 

    CREATE TRIGGER ADMINISTRATOR.TRIGGER_DEST AFTER  INSERT  ON ADMINISTRATOR.DEST  REFERENCING  NEW AS NEWROW  FOR EACH ROW  MODE DB2SQL 
    BEGIN ATOMIC 
    DECLARE NEWSTR VARCHAR(22); 
    SET NEWSTR=NEWROW.ZIDUAN1; 
    IF (NEWSTR>110) THEN insert into src values('120','120','120');  ELSE SIGNAL SQLSTATE '22222' ('UNSECCFULL'); END IF; 
    END 
    结果如下: 

     

    点击确定就成功。 


    在试验的过程中也遇到了很多的问题, 
    1:BEFORE 触发器中触发的 SQL 语句不能包括: 

        -   修改 SQL 数据的表函数 

        -   嵌套的 DELETE、INSERT、MERGE 或 UPDATE 语句

  • 相关阅读:
    记录一下过孔和通孔焊盘
    资料分享
    oracle 配置服务端
    oracle 安装
    jquery之遍历展示title
    jquery之radio
    java基础之正则表达式
    java基础之IO流
    java基础之泛型
    java基础之反射
  • 原文地址:https://www.cnblogs.com/wangpei/p/3120968.html
Copyright © 2011-2022 走看看