bulk collect 以及ref cursor使用

 

declare 
---定义一个ref游标
  type empcurtyp is ref cursor;
---定义一个table类型
  type idlist is table of emp.empno%type;
---定义一个table类型
  type namelist is table of emp.ename%type;
---定义一个table类型
  type sallist is table of emp.sal%type;
---定义一个ref cursor类型的变量
  emp_cv empcurtyp;
---定义一个table类型的变量
  ids idlist;
---定义一个table类型的变量
  names namelist;
---定义一个table类型的变量
  sals sallist;
  row_cn number;
 begin
   open emp_cv for select empno,ename,sal from emp;
   fetch emp_cv bulk collect into ids,names,sals;  --使用bulk collect 一次性把结果取出
  close emp_cv;
  for i in ids.first .. ids.last loop
      dbms_output.put_line(ids(i)||' '||names(i)||' '||sals(i));  
  end loop;
end;

你可能感兴趣的:(Cursor,number,collect,names)