(方法一)代码如下:
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;
/
(方法一)执行结果:
(方法二)代码如下:
--运用游标:查询部门编号为: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; --结束程序体
/
(方法二)执行结果:
(方法三)代码如下:
--运用游标:查询部门编号为: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; --结束程序体
/
(方法三)执行结果: