PLSQL CURSOR光标循环用法

来源:互联网 发布:电信2g网络和4g络区别 编辑:程序博客网 时间:2024/06/09 18:35

declare 
  vnamevarchar2(50);
  vidnumber;
  cursor cap isselect id,name from user_infor order by id ;
begin 
  --EXECUTEIMMEDIATE 'select username from dual';
   dbms_output.put_line('=====start =====!');
   1、
   open cap;--打开光标
   loop
   fetch cap into vid,vname; --与查出的字段要对应上。
   exit when cap%notfound;  --没有记录时跳出
   dbms_output.put_line('id= '||vid);
   dbms_output.put_line('name= '||vname);
   end loop;
   close cap;
  
  
--  2、用while
   open cap;
   fetch cap into vid,vname;
   while cap%found
   loop
   dbms_output.put_line('id= '||vid);
   dbms_output.put_line('name= '||vname);
   fetch cap into vid,vname;
   end loop;
   close cap;
 --while 结束

 -- 3、for循环
 for c in caploop
   dbms_output.put_line('id= '||c.id||'  name= '||c.name);
   end loop;
 --for循环结束
 dbms_output.put_line('=====over ======!');
  EXCEPTION
     WHEN NO_DATA_FOUND THEN
     dbms_output.put_line('there is no data!');
     WHEN OTHERS THEN
     dbms_output.put_line('there is a error ');
end;




0 0
原创粉丝点击