1、先在数据库建立dept表
以下所有代码都是在 sql*plus 中执行
SQL> create table dept
2 (
3 deptno varchar(5), //部门号
4 ename varchar(10), //员工姓名
5 eno varchar(5), //员工号
6 esar int //工资
7 );
2、向dept表中插入数据
SQL> insert into dept values('10','张一','12345',2000);
SQL> insert into dept values('10','张二','12346',2500);
SQL> insert into dept values('10','张三','12347',3500);
3、创建游标并显示数据
//显示10号部门员工的姓名,员工号和薪水
//要想显示dbms_output.put_line()的内容必须先设置环境
//先执行 set serveroutput on;
SQL> declare
//定义一个带参数的游标
2 cursor cemp(dno number) is select ename,eno,esar from dept where deptno=dno;
//为游标定义对应的变量
3 pename dept.ename%type;
4 peno dept.eno%type;
5 pesar dept.esar%type;
6 begin
//打开游标
7 open cemp(10);
8 loop
//从游标取出记录,而且into后面的顺序必须和定义游标后面的变量顺序一样
9 fetch cemp into pename,peno,pesar;
//当没有取出记录时,
//%found:如果取到了记录就是true否则是false;
//%notfound:没有取到记录
10 exit when cemp%notfound;
//显示取到的记录
11 dbms_output.put_line(pename||' '||peno||' '||pesar);
12 end loop;
//关闭游标
13 close cemp;
14 end;
15 /
显示结果: