厄......这个问题我试过直接fetch l_cur bulk collect into v_a,v_b;这样是不行的,上次别人还建议我用楼主这种方法,没想到也有问题.KingSunSha(弱水三千) 我以上帝的名义召唤你出来……^_^

解决方案 »

  1.   

    游标没打开怎么用fetch,你看看什么报什么错误就知道了
      

  2.   

    一个用法的例子:CREATE OR REPLACE PROCEDURE bulkdelete AS  TYPE T_DATE_t IS TABLE OF TAB1.T_DATE%TYPE;  T_DATE_array T_DATE_t;  CURSOR c1 IS
        SELECT T_DATE FROM tab1;BEGIN
      OPEN c1;
      LOOP
        FETCH c1 BULK COLLECT INTO T_DATE_array LIMIT 1000; --一次删除1000条
        FORALL i IN T_DATE_array.FIRST .. T_DATE_array.LAST
          DELETE FROM tab1 WHERE T_DATE = T_DATE_array(i);
          
        EXIT WHEN c1%NOTFOUND;
      END LOOP;  CLOSE c1;  COMMIT;EXCEPTION
      WHEN OTHERS THEN
        ROLLBACK;
    END bulkdelete;