PL/SQL(显示游标):查询部门为20的(所有员工信息)

(方法一)代码如下:

set serveroutput on;

--1、声明:相关内容
declare

--2、程序体
begin
     for temp in (select empno, ename, job from emp where deptno = 20)
      loop
        dbms_output.put_line(temp.empno || ' : ' || temp.ename || ' : ' || temp.job);  
     end loop;
end;                 
/

(方法一)执行结果:

PL/SQL(显示游标):查询部门为20的(所有员工信息)_第1张图片
(方法二)代码如下:

--运用游标:查询部门编号为:20 的员工信息

set serveroutput on;

--1、声明:相关内容
declare

--2、定义游标:
cursor myCur  is  
select empno, ename, job from emp
where deptno = 20;

--3、程序体
begin
     for temp in myCur
      loop
        dbms_output.put_line(temp.empno || ' : ' || temp.ename || ' : ' || temp.job);   --输出:游标指向的第一条(员工编号、员工姓名、员工职务)
     end loop;
end;                     --结束程序体
/

(方法二)执行结果:
PL/SQL(显示游标):查询部门为20的(所有员工信息)_第2张图片

(方法三)代码如下:

--运用游标:查询部门编号为:20 的员工信息

set serveroutput on;

--1、声明:相关内容
declare

varId number;                --声明:用来存(员工编号)的变量
varName varchar2(50);        --声明:用来存(员工姓名)的变量
varTile varchar2(50);        --声明:用来存(员工职务)的变量

--2、定义游标:
cursor myCur(varDepId number) is    --其中:varDeptId是:部门编号
select empno, ename, job from emp
where deptno = varDepId;

--3、程序体
begin
  if(myCur % isopen = false) then        --检验:当游标是否打开
         open myCur(20);                 --当没有打开时:(手动)打开,  把部门编号为:20传过去,查找
  end if;

  fetch myCur into  varId, varName, varTile;    --读取:当前(游标)位置的数据
  while (myCur % found)                                   --当游标数据:不为空(进行loop循环)
      loop
        dbms_output.put_line(varId || ' : ' || varName || ' : ' || varTile);   --输出:游标指向的第一条(员工编号、员工姓名、员工职务)
      fetch myCur into  varId, varName, varTile;                                  --游标:(读取)下一条, 并再次循环(判断)
     end loop;
close myCur;  		      --关闭游标
end;                      --结束程序体
/

(方法三)执行结果:
PL/SQL(显示游标):查询部门为20的(所有员工信息)_第3张图片

你可能感兴趣的:(#,数据库)