sql语句如下
open c for select DMSM1 from zl_code where dmlb='8'and dmz='A';
loop
fetch c into csys ;
--csysstr:=csysstr||csys;
exit when c%notfound;
end loop;
close c;明明只有一条记录,但总要进去循环两次,就会查出重复记录。
请问这是哪的问题啊
open c for select DMSM1 from zl_code where dmlb='8'and dmz='A';
loop
fetch c into csys ;
--csysstr:=csysstr||csys;
exit when c%notfound;
end loop;
close c;明明只有一条记录,但总要进去循环两次,就会查出重复记录。
请问这是哪的问题啊
loop
fetch c into csys ;
exit when c%notfound;------把这个跟到fetch的后面,试下。。
end loop;
close c;
与do ...while(condition)类似
---因为你第一次的时候c%notfound 为false ,而csys 值已经赋值,会在第二次执行循序体 所以会有
--csysstr:=csys 1次
--csysstr:=csys||csys 2次
loop
fetch c into csys ;
exit when c%notfound;第二次为true 退出循序
csysstr:=csysstr||csys;
end loop;
close c;