ORACLE中RECORD的使用

一、概念

定义记录数据类型。它类似于C语言中的结构数据类型(STRUCTURE)PL/SQL提供了将几个相关的、分离的、基本数据类型的变量组成一个整体的方法,即RECORD复合数据类型。在使用记录数据类型变量时,需要在声明部分先定义记录的组成、记录的变量,然后在执行部分引用该记录变量本身或其中的成员。

二、语法

TYPE RECORD_NAME IS RECORD(--声明记录数据类型

V1  DATA_TYPE1 [NOT NULL][:=DEFAULT_VALUE],--定义变量、变量数据类型

V2  DATA_TYPE2 [NOT NULL][:=DEFAULT_VALUE],

VN  DATA_TYPEN [NOT NULL][:=DEFAULT_VALUE]);
 
RECORD1 RECORD_NAME;--声明记录类型变量 

三、使用举例

先定义一个只与wms_task表中某几个列的数据类型相同的记录数据类型re_inv,然后声明一个该数据类型的记录变量re_inv_01。在使用RECORD数据类型的变量时要用“.”运算符指定记录变量名限定词。

    一个记录类型的变量只能保存从数据库中查询出的一行记录,如果查询出了多行记录,就会出现错误。

declare
type re_inv is record (
item_code varchar2(32),
item_name varchar2(32),
supply_code varchar2(10),
supply_name varchar2(32),
qty float
);
re_inv_01 re_inv;

begin

  select code1,name1,code2 ,name2 ,qty  into re_inv_01
  from wms_task 
  where id=100;

  insert into loc_inventory(item_code,item_name,supply_code,supply_name,qty) 
  values(re_inv_01.item_code,re_inv_01.item_name,re_inv_01.supply_code,
  re_inv_01.supply_name,re_inv_01.qty);
  commit;
end;



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值