PLSQL_游标

来源:互联网 发布:软件需求书 编辑:程序博客网 时间:2024/05/17 22:16

游标:指针,指向一个查询结果集的指针

1.SQL语句和游标的对应
单行查询语句-----可以定义为游标,也可以不定义
多行查询结果-----必须定义出游标,然后才能通过游标来提取多个结果
增删改语句-------游标是默认设置的

游标的作用:用来处理多行查询结果,他指定了一种多行结果集中提取数据的方式

2.游标的使用:
A.显示游标
---------------------------------------------------
declare
  --声明一个游标
  cursor cur is select ename,job,sal from emp;
  v_name emp.ename%type;
  v_job  emp.job%type;
  v_sal  emp.sal%type;
begin
  --打开一个游标
  open cur;
  --提取一行
  fetch cur into v_name,v_job,v_sal;
  dbms_output.putline(v_name||v_job||v_sal);

  --循环提取所有的纪录
  while cur%found loop--如果下一条纪录存在
    dbms_output.putline(v_name||v_job||v_sal);
    fetch cur into v_nmame,v_job,v_sal;--提取下一行
  end loop;
  --关闭
  close cur;

exception

  when others then
    dbms_output.putline(SQLCODE||SQLERRM);

end;
---------------------------------------------
declare
  cursor cur is select * from emp;
  rec emp%rowtype;-- 提取现有标emp作为一个新的纪录类型
begin
  open cur;
  fetch cur into rec;
  while cur%found loop
    dbms_output.putline(rec.empno||rec.ename||rec.sal);
    fetch cur into rec;--提取下一行
  end loop;
  --关闭
  close cur;
exception

  when others then
    dbms_output.putline(SQLCODE||SQLERRM);

end;

原创粉丝点击