电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

DB2 9數據庫中有關同步trigger的記錄

瀏覽:5日期:2023-11-08 08:42:58
項目需要寫了幾個數據庫同步用的 trigger ,就是記錄用戶的操作到一個 temp 表,然后天天通過webservice 同步到其它系統,同步成功清空該 temp 表。自認為寫的還行,做個記錄。是 db2 的。-- 用戶組新增觸發器--DROP TRIGGER TG_USERG;CREATE TRIGGER LIBING.TG_USERG AFTER INSERT ON LIBING.TM_USERGREFERENCING NEW AS NROWFOR EACH ROWMODE DB2SQL BEGIN ATOMICdeclare @groupId integer;declare @name varchar(30);declare @descn varchar(100);declare @syntype varchar(4);declare @ddlsql varchar(1024);declare @isprimary char(1);declare @updateTime timestamp;declare @createTime timestamp;declare @createBy integer;declare @updateBy integer;declare @groupType integer;declare @adminType integer;declare @appId integer;declare @oldGroupId integer;set @groupId=NROW.GROUP_ID;set @name=NROW.name;set @descn=NROW.descn;set @syntype=NROW.syn_type;set @ddlsql=NROW.ddlsql;set @isprimary=NROW.isprimary;set @updateTime=NROW.update_time;set @createTime=NROW.create_time;set @createBy=NROW.create_by;set @updateBy=NROW.update_by;set @groupType=NROW.group_type;set @adminType=NROW.admin_type;set @appId=NROW.app_id;INSERT INTO TM_USERG_TEMP(GROUP_ID,NAME,DESCN,DDLSQL,ISPRIMARY,UPDATE_TIME,CREATE_TIME,CREATE_BY,UPDATE_BY,GROUP_TYPE,ADMIN_TYPE,APP_ID,ACTION) VALUES (@groupId,@name,@descn,@ddlsql,@isprimary,@updateTime,@createTime,@createBy,@updateBy,@groupType,@adminType,@appId,'INSERT');END;-- 更新用戶組數據的觸發器- DROP TRIGGER TG_USERG_UPDATE;CREATE TRIGGER TG_USERG_UPDATE AFTER UPDATE ON TM_USERGREFERENCING NEW AS NROWFOR EACH ROWMODE DB2SQLBEGIN ATOMICdeclare @groupId integer;declare @name varchar(30);declare @descn varchar(100);declare @syntype varchar(4);declare @ddlsql varchar(1024);declare @isprimary char(1);declare @updateTime timestamp;declare @createTime timestamp;declare @createBy integer;declare @updateBy integer;declare @groupType integer;declare @adminType integer;declare @appId integer;set @groupId=NROW.GROUP_ID;set @name=NROW.name;set @descn=NROW.descn;set @syntype=NROW.syn_type;set @ddlsql=NROW.ddlsql;set @isprimary=NROW.isprimary;set @updateTime=NROW.update_time;set @createTime=NROW.create_time;set @createBy=NROW.create_by;set @updateBy=NROW.update_by;set @groupType=NROW.group_type;set @adminType=NROW.admin_type;set @appId=NROW.app_id;-- 假如已經有 update 則只記錄最后一條 updateIF EXISTS(SELECT GROUP_ID FROM TM_USERG_TEMP WHERE GROUP_ID=@groupId AND ACTION='UPDATE') THEN UPDATETM_USERG_TEMP SET GROUP_ID=@groupId,NAME=@name,DESCN=@descn,DDLSQL=@ddlsql,ISPRIMARY=@isprimary,UPDATE_TIME=@updateTime,CREATE_TIME=@createTime,CREATE_BY=@createBy,UPDATE_BY=@updateBy,GROUP_TYPE=@groupType,ADMIN_TYPE=@adminType,APP_ID=@appId,ACTION='UPDATE'where GROUP_ID=@groupId AND ACTION='UPDATE';-- 假如有 insert 則把后面的 update 當作 insertELSEIF EXISTS(SELECT GROUP_ID FROM TM_USERG_TEMP WHERE GROUP_ID=@groupId AND ACTION='INSERT') THENUPDATE TM_USERG_TEMP SET GROUP_ID=@groupId,NAME=@name,DESCN=@descn,DDLSQL=@ddlsql,ISPRIMARY=@isprimary,UPDATE_TIME=@updateTime,CREATE_TIME=@createTime,CREATE_BY=@createBy,UPDATE_BY=@updateBy,GROUP_TYPE=@groupType,ADMIN_TYPE=@adminType,APP_ID=@appId,ACTION='INSERT'where GROUP_ID=@groupId AND ACTION='INSERT';ELSE INSERT INTO TM_USERG_TEMP(GROUP_ID,NAME,DESCN,DDLSQL,ISPRIMARY,UPDATE_TIME,CREATE_TIME,CREATE_BY,UPDATE_BY,GROUP_TYPE,ADMIN_TYPE,APP_ID,ACTION) VALUES (@groupId,@name,@descn,@ddlsql,@isprimary,@updateTime,@createTime,@createBy,@updateBy,@groupType,@adminType,@appId,'UPDATE');end if;END; -- 刪除用戶組觸發器--DROP TRIGGER TG_USERG_DELETE;CREATE TRIGGER TG_USERG_DELETE AFTER DELETE ON TM_USERGREFERENCING OLD AS OROWFOR EACH ROWMODE DB2SQLBEGIN ATOMICdeclare @groupId integer;declare @name varchar(30);declare @descn varchar(100);declare @syntype varchar(4);declare @ddlsql varchar(1024);declare @isprimary char(1);declare @updateTime timestamp;declare @createTime timestamp;declare @createBy integer;declare @updateBy integer;declare @groupType integer;declare @adminType integer;declare @appId integer;set @groupId=OROW.GROUP_ID;set @name=OROW.name;set @descn=OROW.descn;set @syntype=OROW.syn_type;set @ddlsql=OROW.ddlsql;set @isprimary=OROW.isprimary;set @updateTime=OROW.update_time;set @createTime=OROW.create_time;set @createBy=OROW.create_by;set @updateBy=OROW.update_by;set @groupType=OROW.group_type;set @adminType=OROW.admin_type;set @appId=OROW.app_id;-- 假如沒有操作記錄,則插入 delete 記錄IF NOT EXISTS(SELECT GROUP_ID FROM TM_USERG_TEMP WHERE GROUP_ID=@groupId) THENINSERT INTO TM_USERG_TEMP(GROUP_ID,NAME,DESCN,DDLSQL,ISPRIMARY,UPDATE_TIME,CREATE_TIME,CREATE_BY,UPDATE_BY,GROUP_TYPE,ADMIN_TYPE,APP_ID,ACTION) VALUES (@groupId,@name,@descn,@ddlsql,@isprimary,@updateTime,@createTime,@createBy,@updateBy,@groupType,@adminType,@appId,'DELETE');-- 假如有 insert 記錄,則整體結果相當于沒有進行任何操作ELSEIF EXISTS(SELECT GROUP_ID FROM TM_USERG_TEMP WHERE GROUP_ID=@groupId and ACTION='INSERT') THENDELETE FROM TM_USERG_TEMP WHERE GROUP_ID=@groupId and ACTION='INSERT';-- 假如沒有 insert 記錄,則只需記錄最后的 delete 操作ELSEUPDATE TM_USERG_TEMP set ACTION='DELETE' where GROUP_ID=@groupId;END IF;END;
標簽: DB2 數據庫
主站蜘蛛池模板: 杭州月嫂技术培训服务公司-催乳师培训中心报名费用-产后康复师培训机构-杭州优贝姆健康管理有限公司 | 危废处理系统,水泥厂DCS集散控制系统,石灰窑设备自动化控制系统-淄博正展工控设备 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | HEYL硬度计量泵-荧光法在线溶解氧仪-净时测控技术(上海)有限公司 | 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 澳洁干洗店加盟-洗衣店干洗连锁「澳洁干洗免费一对一贴心服务」 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 江苏密集柜_电动_手动_移动_盛隆柜业江苏档案密集柜厂家 | 回转炉,外热式回转窑,回转窑炉-淄博圣元窑炉工程有限公司 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 智慧农业|农业物联网|现代农业物联网-托普云农物联网官方网站 | 两头忙,井下装载机,伸缩臂装载机,30装载机/铲车,50装载机/铲车厂家_价格-莱州巨浪机械有限公司 | 气体检测仪-氢气检测仪-可燃气体传感器-恶臭电子鼻-深国安电子 | 语料库-提供经典范文,文案句子,常用文书,您的写作得力助手 | 深圳APP开发_手机软件APP定制外包_小程序开发公司-来科信 | 氧化锆陶瓷_氧化锆陶瓷加工_氧化锆陶瓷生产厂家-康柏工业陶瓷有限公司 | 空压机网_《压缩机》杂志| 上海新光明泵业制造有限公司-电动隔膜泵,气动隔膜泵,卧式|立式离心泵厂家 | 宝元数控系统|对刀仪厂家|东莞机器人控制系统|东莞安川伺服-【鑫天驰智能科技】 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 打包钢带,铁皮打包带,烤蓝打包带-高密市金和金属制品厂 | 上海道勤塑化有限公司 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 运动木地板_体育木地板_篮球馆木地板_舞台木地板-实木运动地板厂家 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 碎石机设备-欧版反击破-欧版颚式破碎机(站)厂家_山东奥凯诺机械 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 柔性测斜仪_滑动测斜仪-广州杰芯科技有限公司 | 3D全息投影_地面互动投影_360度立体投影_水幕灯光秀 | 广东银虎 蜂窝块状沸石分子筛-吸附脱硫分子筛-萍乡市捷龙环保科技有限公司 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 山东彩钢板房,山东彩钢活动房,临沂彩钢房-临沂市贵通钢结构工程有限公司 | LED灯杆屏_LED广告机_户外LED广告机_智慧灯杆_智慧路灯-太龙智显科技(深圳)有限公司 | 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 广州企亚 - 数码直喷、白墨印花、源头厂家、透气无手感方案服务商! | 科威信洗净科技,碳氢清洗机,超声波清洗机,真空碳氢清洗机 |