一 定义
光标,也叫游标,就是一个结果集(Result Set)。
二 语法
CURSOR 光标名 [(参数名 数据类型[,参数名 数据类型]...)]
IS SELECT 语句;
三 光标用法
1、定义光标
cursor c1 is select ename from emp;
2、打开光标执行查询
open c1;
3、取一行到变量
fetch c1 into pename;
4、关闭关闭释放资源
close c1;
四 实例
1、需求
使用光标查询员工姓名和工资,并打印。
2、代码
--查询并打印员工的姓名和薪水/*1.光标属性%found %notfound*/set serveroutput ondeclare--定义一个光标cursor cemp isselect ename,sal from emp;--为光标定义对应的变量pename emp.ename%type;psal emp.sal%type;begin--打开光标open cemp;loop--取一条记录fetch cemp into pename,psal;--思考:1循环什么时候退出?2fetch不一定能取到记录--exitwhen没有取到记录exitwhen cemp%notfound;dbms_output.put_line(pename||'的薪水是'||psal);end loop;--关闭光标close cemp;end;/
3、运行结果
SMITH的薪水是800
ALLEN的薪水是1600
WARD的薪水是1250
JONES的薪水是2975
MARTIN的薪水是1250
BLAKE的薪水是2850
CLARK的薪水是2450
SCOTT的薪水是3000
KING的薪水是5000
TURNER的薪水是1500
ADAMS的薪水是1100
JAMES的薪水是950
FORD的薪水是3000
MILLER的薪水是1300
PL/SQL 过程已成功完成。