set serveroutput on
/*
* 要求:显示总员工数和所有员工的姓名与工资.
*
* select ename, sal from emp;
*/
declare
-- 声明光标
cursor c_emp is select ename, sal from emp;
-- 声明变量
vname emp.ename%type;
vsal emp.sal%type;
vcount number;
begin
-- 查询并显示总人数
select count(*) into vcount from emp;
dbms_output.put_line( '总员工数:' || vcount );
-- 打开光标
open c_emp;
-- 循环所有记录
loop
-- 先执行获取一行记录
fetch c_emp into vname, vsal;
-- 指定退出循环的条件
exit when c_emp%notfound;
-- 有数据时的处理代码
dbms_output.put_line( vname || '的工资是' || vsal );
end loop;
-- 关闭光标以释放资源
close c_emp;
end;
/
PL/SQL光标
最新推荐文章于 2024-08-28 13:34:29 发布