pl/sql学习2——pl/sql记录

记录:针对一条数据,可以有多列,调用记录名.成员名

CREATE OR REPLACE

PROCEDURE PR_RECORD_VARIABLE
AS
BEGIN
  DECLARE/*pl/sql记录*/
  type V_RECORD IS  RECORD(
    no DEPT.DEPTNO%type,
    name DEPT.DNAME%type,
    LOCC DEPT.LOC%type 
  );
  V_DEPT_RECORD V_RECORD;
  V_DEPT_RECORD1 DEPT%ROWTYPE;--可以用表来定义
  CURSOR DEPT_CUR
  IS --声明游标
    SELECT deptno,dname,loc FROM dept;
BEGIN
  SELECT DEPTNO,DNAME,LOC INTO V_DEPT_RECORD FROM DEPT WHERE rownum=1;
  DBMS_OUTPUT.PUT_LINE('编码:'||V_DEPT_RECORD.no||';名称:'||V_DEPT_RECORD.name||';地址:'||V_DEPT_RECORD.locc);
  SELECT DEPTNO,DNAME,LOC INTO V_DEPT_RECORD1 FROM DEPT WHERE rownum=1;
  DBMS_OUTPUT.PUT_LINE('编码:'||V_DEPT_RECORD1.DEPTNO||';名称:'||V_DEPT_RECORD1.DNAME||';地址:'||V_DEPT_RECORD1.LOC);
  OPEN dept_cur;
  LOOP
    FETCH DEPT_CUR INTO V_DEPT_RECORD; --将游标的内容插入到游标记录变量中
    DBMS_OUTPUT.PUT_LINE('编码:'||V_DEPT_RECORD.no||';名称:'||V_DEPT_RECORD.name||';地址:'||V_DEPT_RECORD.locc);
    EXIT
  WHEN dept_cur%NOTFOUND;
  END LOOP;
  CLOSE dept_cur;
END;
END PR_RECORD_VARIABLE;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值