Oracle游标(一)显式游标

显式游标是用户手动声明和操作的游标

显式游标的使用步骤

1.声明游标





2.打开游标

语法





3.提取游标

语法





4.关闭游标

语法



显示游标完整示例



游标的属性



语法



整体示例:

为员工添加工资:

declare
  hire_date date; --存放员工入职日期
  e_id      number; --存放员工id
  cursor emp_cur is --定义游标
    select id, hire_date from employees;
begin
  open emp_cur; --打开游标
  loop
    fetch emp_cur
      into e_id, hire_date; --将数据逐条存入变量中,并且游标向后移动
    exit when emp_cur%notfound;
    if 100 * (2010 - to_char(hire_date, 'yyyy')) < 1000 then
      update salary
         set salarvalue = salaryvalue +
                          100 * (2010 - to_char(hire_date, 'yyyy'))
       where emplyeeid = e_id;
    else
      update salary
         set salarvalue = salaryvalue + 1000
       where emplyeeid = e_id;
    end if;
   close emp_cur;
  end loop;


显示游标经常和循环一起使用,简化的遍历方法如下:


示例

declare 
  type emplyee_record is record
  (
      name varchar2(50),
      department_name varchar2(20)
  );
  cursor emp_cur is
       select name,department_name from emplyees s,departments d
       where e.department_id=d.department_id;
       
  begin 
    for employee_record in emp_cur loop
      dbms_output.put_line(employee_record.name||'在'||emploee_record.department_name);
    end loop;
  end;




  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值