比如定义一个游标,从联接表里取值
cursor c1 is select b.typeid aa,b.type nn,a.productid nb,a.productname xn,a.stock cd from product a,type b where a.typeid=b.typeid order by b.typeid;
我想经过判断跳出,之后再次引用游标,嵌套循环取值如
loop
kucun:=0;
loop
fetch c1 into cc;
DBMS_OUTPUT.put_line(cc.nn||' '||cc.xn||' 库存'||cc.cd);
kucun:=kucun+cc.cd;
exit when cc.aa>v_typeid or (cc.aa=8 and cc.nb>=73);
end loop;
v_typeid:=v_typeid+1;
DBMS_OUTPUT.put_line('总库存量为'||to_char(kucun));
exit when v_typeid=9;
end loop;
close c1;
但问题就出来了 不符合条件的第一个值会被跳过,因为fetch c1 into cc 默认是next
有什么办法可以让游标往前移动一行吗?求示例
------解决方案--------------------
干嘛跳出了还要引用游标
------解决方案--------------------
在where条件里面加不了限制么?
------解决方案--------------------