本帖最后由 lixiaolong09 于 2010-12-13 10:58:14 编辑

解决方案 »

  1.   

    只取一行的数据吗?
    那就没必要用游标了啊 直接用select into 就好了
      

  2.   

    办法是有不过通过游标不能实现
    你可以使用bulk collect 把所有的游标记录放入到一个关联数组里,然后你就直接操作数组就行了。我这里有个例子:SQL> declare
      2    type deptrecord is record(
      3      deptno dept.deptno%type,
      4      dname  dept.dname%type,
      5      loc    dept.loc%type);
      6    type number_array is table of deptrecord;
      7    number_collection number_array := number_array();
      8  begin
      9    number_collection.extend(5);
     10    dbms_output.put_line('number_collection的数量:' ||
     11                         number_collection.count);
     12    select * bulk collect into number_collection from dept;
     13    dbms_output.put_line(number_collection(1).deptno);
     14  end;
     15  /number_collection的数量:5
    10PL/SQL procedure successfully completedSQL> 
      

  3.   

    fetch cursor bulk collect into 数组