Oracle游标:用显示游标实现:在屏幕上显示10号部门所有员工的员工姓名、员工号和工资。

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  /

显示结果:
在这里插入图片描述

你可能感兴趣的:(Oracle游标:用显示游标实现:在屏幕上显示10号部门所有员工的员工姓名、员工号和工资。)