Oracle plsql 记录和游标的用法

DECLARE
  TYPE STU_REC IS RECORD(
    stu_id   VARCHAR2(20) not null := '去死吧' --id, 
    ,
    stu_name VARCHAR(30) not null := '死吧' --姓名
    ,
    age       NUMBER(4) --年龄
    ); --定义一个学生记录类型,包含学生id,name,age等属性
  liming_stu STU_REC; --声明一个学生记录类型的变量 liming_stu;
  cursor info is
    select pk_corp, unitname from tmp_corp; --定义一个游标
BEGIN
  open info; --打开游标
  loop
    --开始循环
    fetch info
      into liming_stu.stu_id, liming_stu.stu_name; --从游标中取出数据并负责给 liming_stu记录的字段中
    dbms_output.put_line('id:' || liming_stu.stu_id || '   姓名:' ||
                          liming_stu.stu_name); --对liming_stu 记录的字段进行输出
    exit when info%notfound; --当游标中的数据到达底部时,退出
  end loop; --结束循环
  close info; --关闭游标
exception
  when others then
    rollback; --异常处理
END;



改进后的版本为


DECLARE
  TYPE STU_REC IS RECORD(
    STU_ID   TMP_CORP.PK_CORP%TYPE,
    STU_NAME TMP_CORP.UNITNAME%TYPE,
    STU_CODE TMP_CORP.INNERCODE%TYPE);
  hua_rec STU_REC;
  CURSOR Cursor_info IS
    SELECT PK_CORP, UNITNAME, INNERCODE FROM TMP_CORP;
BEGIN
  OPEN Cursor_info;
  loop
    fetch Cursor_info
      into hua_rec;
    exit when Cursor_info%notfound;
    dbms_output.put_line('id' || hua_rec.stu_id || ' name' ||
                          hua_rec.stu_name);
  end loop;
  CLOSE Cursor_info;
exception
  when others then
    rollback;
END;
<script type="text/javascript" id="wumiiRelatedItems"> </script>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值