PLSQL编程-游标【详细讲解】

今天爱分享给大家带来PLSQL编程-游标【详细讲解】,希望能够帮助到各位。

一、含义

游标是用来操作查询结果集,相当于是JDBC中ResultSet,它可以对查询的结果一行一行的获取

二、语法

--第一步:定义游标
    --第一种:普通游标
    cursor 游标名[(参数 参数类型)] is 查询语句;
    --第二种:系统引用游标
    游标名 sys_refcursor;

--第二步:打开游标
    --第一种:普通游标
    open 游标名[(参数 参数类型)];
    --第二种:系统引用游标
    open 游标名 for 查询语句;

--第三步:获取一行
	fetch 游标名 into 变量;

--第四步:关闭游标
	close 游标名;

三、演示

1、普通游标使用

--输出指定部门下的员工姓名和工资
declare
  --1.声明游标
  cursor vrows(dno number) is select * from emp where deptno = dno;
  --声明变量
  vrow emp%rowtype;
begin
  --2.打开游标 
  open vrows(10);
  --3.循环遍历
  loop
    fetch vrows into vrow;
    exit when vrows%notfound;
    dbms_output.put_line('姓名:' || vrow.ename || ' 工资: ' || vrow.sal);
  end loop;
  --4.关闭游标
  close vrows;
end;

2、系统引用游标使用

--输出员工表中所有的员工姓名和工资
declare
  --1.声明系统引用游标
  vrows sys_refcursor;
  --声明变量
  vrow emp%rowtype;
begin
  --2.打开游标
  open vrows for select * from emp;
  --3.循环遍历
  loop
    fetch vrows into vrow;
    exit when vrows%notfound;
    dbms_output.put_line('姓名:' || vrow.ename || ' 工资: ' || vrow.sal);
  end loop;
  --4.关闭游标
  close vrows;
end;

3、使用for循环输出

--输出员工表中所有的员工姓名和工资
declare
  cursor vrows is select * from emp;
begin
  --自动定义变量vrow,自动打开游标,自动关闭游标
  for vrow in vrows loop
    dbms_output.put_line('姓名:' || vrow.ename || ' 工资: ' || vrow.sal || '工作:' || vrow.job);
  end loop;
end;

人已赞赏
数据库

PLSQL编程-同义词【详细讲解】

2020-10-11 14:39:16

数据库

PLSQL编程-存储过程【详细讲解】

2020-10-12 15:16:36

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧