Oracle记录类型(record)使用

RECORD——存储单行多列结构的数据.

  •  RECORD:用户自己定义数据类型,由单行多列的标量构成的复合数据类型。它将一个或多个标量封装成一个对象进行操作记录不能够总体拿来比較也不能够总体推断为空。能够总体拿来赋值。组成相似于多维数组。
  •  将一个或多个标量封装成一个对象进行操作。是一种暂时复合对象类型。使用记录类型变量时必须先定义记录的结构,然后再定义记录类型的变量。

TYPE语句定义记录类型的语法形式:

TYPE 记录名 IS RECORD
(field1_name data_type [not null] [:=|default value],
…
fieldn_name data_type [not null] [:=|default value]);

 【实例】定义一个记录类型rec_product,并使用该记录变量存储产品编号为1的产品的编号、名称、单价、单位数量

DECLARE
 TYPE rec_product  IS RECORD
 (Prod_ID number,
  Prod_Name nvarchar2(40),
  Quant_PerUnit nvarchar2(20),
  Unit_Price number(38,3)
  );
r_prod rec_product;
BEGIN
 SELECT  productid, productname, quantityperunit,unitprice
INTO r_prod
FROM products
WHERE productid=1;
 Dbms_output.put_line(r_prod. Prod_ID);
    Dbms_output.put_line(r_prod. Prod_Name);
    Dbms_output.put_line(r_prod. Quant_PerUnit);
    Dbms_output.put_line(r_prod. Unit_Price);
END;

注意:

  1. 一个PL/SQL RECORD必须包含一个或多个字段:这些字段的数据类型可以是标量类型、RECORD类型或PL/SQL表类型。
  2. 一般在PL/SQL块中从表中取出一行进行处理时用PL/SQL RECORD。
  3. SELECT语句查询的列值的数量与顺序,必须与创建记录类型变量中定义的字段数量和顺序相匹配。
  4. 一个记录类型的变量仅仅能保存从数据库中查询出的一行记录,若查询出了多行记录。就会出现错误。
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库中的基本数据类型包括: 1. 字符型:Char、Varchar、Varchar2、Long - Char:固定长度的字符类型,最大长度为2000个字符。 - Varchar:可变长度的字符类型,最大长度为4000个字节,如果存储的是多字节字符,则实际存储的字符数可能会少于4000个。 - Varchar2:可变长度的字符类型,与Varchar类似,但是Varchar2可以存储空值。 - Long:可变长度的字符类型,最大长度为2GB,但是由于Long类型已经过时,不建议使用。 2. 数值型:Number、Float、Double Precision - Number:精确数值类型,支持整数和小数,可指定最大精度和最大标度。 - Float:浮点数类型,可指定最大精度和最大标度,但是不支持精确计算。 - Double Precision:双精度浮点数类型,与Float类似,但是精度更高。 3. 日期型:Date、Timestamp、Interval Year to Month、Interval Day to Second - Date:日期类型,存储年、月、日、时、分、秒。 - Timestamp:时间戳类型,与Date类似,但是可以存储更高的精度。 - Interval Year to Month:时间间隔类型,用于表示年和月之间的间隔。 - Interval Day to Second:时间间隔类型,用于表示天、小时、分钟和秒之间的间隔。 4. 二进制型:Raw、Long Raw、Blob - Raw:固定长度的二进制类型,最大长度为2000个字节。 - Long Raw:可变长度的二进制类型,最大长度为2GB,但是由于已经过时,不建议使用。 - Blob:二进制大对象类型,可存储大量的二进制数据。 5. 大对象型:Clob、Nclob、Bfile - Clob:字符大对象类型,可存储大量的字符数据。 - Nclob:Unicode字符大对象类型,与Clob类似,但是支持Unicode字符集。 - Bfile:二进制文件类型,可存储大量的二进制数据,但是不存储在数据库中,而是存储在文件系统中,只保存文件的路径。 6. XML类型:XmlType - XmlType:XML类型,可存储XML文档。 7. 集合类型:Varray、Nested Table - Varray:变长数组类型,可存储一组数据,数组大小可变。 - Nested Table:嵌套表类型,可存储一组数据,但是数组大小固定。 8. 其他类型:Boolean、Binary Integer、Pl/Sql Record、Pl/Sql Table等 - Boolean:布尔类型,可存储True或False。 - Binary Integer:二进制整数类型,可存储-231到231-1之间的整数。 - Pl/Sql Record记录类型,可存储一组相关的字段。 - Pl/Sql Table:表类型,可存储一组相关的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值