您的位置:首页 > 其它

DB2存储过程通过游标实现批量数据处理

2014-07-14 16:06 281 查看
CREATE procedure proc_change()
LANGUAGE SQL
BEGIN
DECLARE l_id INTEGER;
DECLARE l_detail_id INTEGER;
DECLARE l_gather_type VARCHAR(2);
DECLARE l_item_id VARCHAR(30);
DECLARE counts INTEGER;
SELECT count(*) INTO counts FROM ZM_GATHER_ITEM;

begin
DECLARE cur CURSOR FOR
SELECT ID, detail_id, gather_type, item_id FROM ZM_GATHER_ITEM;
OPEN CUR;
WHILE counts > 0 DO
FETCH CUR INTO l_id, l_detail_id, l_gather_type, l_item_id;
UPDATE ZM_GATHER_INFO SET GATHER_ITEM_ID = l_ID
WHERE DETAIL_ID = l_detail_id and index_type = l_gather_type AND ITEM_ID = l_item_id;
SET counts = counts - 1;
END WHILE;
END;
END;

SELECT * FROM ZM_GATHER_ITEM;
SELECT * FROM ZM_GATHER_INFO;

--DROP PROCEDURE proc_change;
CALL PROC_CHANGE();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: