存储过程几个简单问题,100分求!1、在存储过程中有如下循环
 
loop
....
  loop
  ...
  end loop;
end loop;在内层循环中执行一些语句,有没类似C 或JAVA语言的continue 语句,即,只跳出本次循环,但还要进行下一循环。有没类似C 或JAVA语言的break语句,跳出整个循环。2、要给一个变量赋空值可不可以像下面这么写
v_aaa := null;3、在存储过程中有如下写法
if...then
   RAISE_APPLICATION_ERROR(-20007,'YOU CAN NOT DELETE THIS TABLE!'||SQLERRM(SQLCODE));
end if;if...then
   RAISE_APPLICATION_ERROR(-20008,'YOU CAN NOT DELETE THIS TABLE!'||SQLERRM(SQLCODE));
end if;我是想把上面的-20007 或 -20008 返回给JAVABEAN,请给出例子

解决方案 »

  1.   

    v_aaa := null
    可以这样写
      

  2.   

    第一个问题可以用return 和exit分别取代continue 和break在oracle后端没有continue和break
      

  3.   

    thranks  hlp912(孤枕難眠) return 不是跳出函数或存储过程的语句吗
    用在循环里可以吗? 真能代替continue吗
      

  4.   

    跳出循环用EXISTS
    RETURN是跳出过程
      

  5.   

    这是个简单的例子。         loop 
             exit when (li_i>li_count or li_i>li_itemnumber);  --大于发送的条数退出 
                 if ((li_itemfeetype=0) and (li_i>1)) then  --按次计费只在发第一条时收费 
                   li_feenumber:=0; 
                 end if; 
        li_jsq:=li_jsq+1;
                 li_i:=li_i+1; 
             end loop;