您的位置:首页 > 大数据 > 人工智能

DB2 Passing transition tables from trigger to stored procedure

2016-11-04 22:38 627 查看
Sample of passing transition tables from trigger to stored procedure

--#SET TERMINATOR #

CREATE TRIGGER <TRIGGER_NAME>
AFTER UPDATE ON <USER_TABLE>
REFERENCING NEW TABLE AS N
OLD TABLE AS O
FOR EACH STATEMENT MODE DB2SQL
BEGIN ATOMIC
CALL <PROC_NAME>(TABLE O, TABLE N);
END#

CREATE PROCEDURE <PROC_NAME>(O TABLE LIKE <USER_TABLE>AS LOCATOR,
N TABLE LIKE <USER_TABLE>AS LOCATOR)
LANGUAGE SQL
BEGIN
DECLARE V_COL1       INTEGER;
DECLARE V_COL2       CHAR(4);
DECLARE V_END        INT DEFAULT 0;
DECLARE V_COUNT    INTEGER;

DECLARE V_CO CURSOR FOR SELECT COL1, COL1 FROM TABLE(O LIKE <USER_TABLE>) AS OLDTAB;
DECLARE V_CN CURSOR FOR SELECT COL1, COL1 FROM TABLE(N LIKE <USER_TABLE>) AS NEWTAB;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET V_END = 1;

SELECT COUNT(*) INTO V_COUNT FROM TABLE(O LIKE <USER_TABLE>);

OPEN V_CN;
FETCH V_CN INTO V_COL1, V_COL2;
WHILE V_END = 0 DO
-- DEAL WITH DATA VALUE
-- INSERT INTO <ANOTHER_TABLE> VALUES(V_COL1, V_COL2);
FETCH V_CN INTO V_COL1, V_COL2;
END WHILE;

CLOSE V_CN;
END#


$ db2 -f script.sql
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mainframe DB2