PL/SQL光标

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;
/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值