关于复合数据类型--记录(record)

pl/sql中的复合数据类型有两种:记录、集合。记录由不同的域组成,集合由不同的元素组成。
首先,pl/sql记录:
记录由不同的域构成,域可以是简单数据类型也可以是其他记录类型。记录可以看成表中的行,而域则相当于一行中的不同字段。记录与记录中的某域都可以被应用或单独赋值。记录的用法
1,创建记录:
  显式定义记录:TYPE record_type IS RECORD (field_list);--field_list是用逗号分割的列表
  隐式定义记录:myrecord TYPE%ROWTYPR;--TYPE可以是一个table(表)也可以是一个cursor(游标)
              域定义: field_name field_type(field_size) --于table中字段的定义类似
                  例子: DECLARE  --定义记录,并创建记录变量,随后引用记录并为记录赋值
                               TYPE  my_record IS RECORD(id number, name varchar2(20),ct t.t%TYPE);--t.t是t表的t列
                                myrecord my_record;
                               begin
                                   myrecord.id:=123;
                                   myrecord.name:='liuzhiqiang';
                                   select 123,'liuzhiqiang',t.t
                                        into myrecord.id, myrecord.name,myrecord.ct
                                      from t t
                                   where t.t=1;
                                   --此处还可
                                   select 123,'liuzhiqiang',t.t
                                        into myrecord--因为于myrecord的域完全匹配
                                      from t t
                                   where t.t=1;
                               end;

-------------------------------------------------------------------------------------------------
 DECLARE
  CURSOR mycursor(par number) IS
    select 1, 'liuzhiqiang', t.t from t_test t where t.t < par;
  myrecords mycursor%rowtype;
begin
  open mycursor(10);
  loop
    fetch mycursor
      into myrecords;
    exit when mycursor%notfound;
    dbms_output.put_line(myrecords.t);
  end loop;
  close mycursor;
end;

注意:记录之间可以之间赋值 myrecord:=myrecord1;  前提是两个记录是同一个TYPE的变量。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22333206/viewspace-612690/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22333206/viewspace-612690/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值