简单的DB2游标
求一个简单的DB2游标
请问DB2的游标怎么应用?请举个简单的例子。
MSSQL的游标我知道。
DECLARE FRXG_cursor CURSOR FOR
Select GoodsNum ,Model ,InStoreNo ,Additional ,GoodsType From Needle_goodstype
OPEN FRXG_cursor
FETCH NEXT FROM FRXG_cursor
INTO @GoodsNum,@Model,@BarCodeID,@Additional,@GoodsType
WHILE @@FETCH_STATUS = 0
BEGIN
--内容
FETCH NEXT FROM FRXG_cursor
INTO @GoodsNum,@Model,@BarCodeID,@Additional,@GoodsType
END
CLOSE FRXG_cursor
DEALLOCATE FRXG_cursor
------解决方案--------------------
转:
-- 定义全局控制变量
declare not_found condition for sqlstate '02000'; -- 没有数据,游标结尾定
declare at_end_s1 int default 0; -- 开关定义s1(默认开-可循环)
-- 声明游标:行业门类
declare cur_hyml cursor with return for
select hyml_dm, hyml_mc
from dm_hyml
where dm_hyml.hyml_dm not in ('19', '20')
order by hyml_dm;
declare continue handler for not_found set at_end_s1=1;
loop_ml:loop
fetch cur_hyml into v_hydm,v_hymc;
if at_end_s1=1 then leave loop_ml;
else
。。。SQL语句。。。。
end if;
end loop loop_ml;
close cur_hyml;
其实这个语法也很简单,建议你多看看数据的文档,这些问题很容易就搞定了。
------解决方案--------------------
DECLARE CUR_SELF CURSOR WITH RETURN FOR SELECT WLOPSQ FROM CRPDTA.F3112 WHERE WLNXOP = V_XGXM
V_XGXM 是传入变量的话,可以。
你自己试一下不就知道了?
请问DB2的游标怎么应用?请举个简单的例子。
MSSQL的游标我知道。
DECLARE FRXG_cursor CURSOR FOR
Select GoodsNum ,Model ,InStoreNo ,Additional ,GoodsType From Needle_goodstype
OPEN FRXG_cursor
FETCH NEXT FROM FRXG_cursor
INTO @GoodsNum,@Model,@BarCodeID,@Additional,@GoodsType
WHILE @@FETCH_STATUS = 0
BEGIN
--内容
FETCH NEXT FROM FRXG_cursor
INTO @GoodsNum,@Model,@BarCodeID,@Additional,@GoodsType
END
CLOSE FRXG_cursor
DEALLOCATE FRXG_cursor
------解决方案--------------------
转:
-- 定义全局控制变量
declare not_found condition for sqlstate '02000'; -- 没有数据,游标结尾定
declare at_end_s1 int default 0; -- 开关定义s1(默认开-可循环)
-- 声明游标:行业门类
declare cur_hyml cursor with return for
select hyml_dm, hyml_mc
from dm_hyml
where dm_hyml.hyml_dm not in ('19', '20')
order by hyml_dm;
declare continue handler for not_found set at_end_s1=1;
loop_ml:loop
fetch cur_hyml into v_hydm,v_hymc;
if at_end_s1=1 then leave loop_ml;
else
。。。SQL语句。。。。
end if;
end loop loop_ml;
close cur_hyml;
其实这个语法也很简单,建议你多看看数据的文档,这些问题很容易就搞定了。
------解决方案--------------------
DECLARE CUR_SELF CURSOR WITH RETURN FOR SELECT WLOPSQ FROM CRPDTA.F3112 WHERE WLNXOP = V_XGXM
V_XGXM 是传入变量的话,可以。
你自己试一下不就知道了?
- SQL code
DECLARE v_dept CHAR(3) DEAFULT ‘ ‘; DECLARE myres_set CURSOR FOR SELECT empno, lastname, job, salary, comm. FROM employee WHERE workdept = v_dept;