一、概念:
–定义记录数据类型。将几个相关的、分离的、基本数据类型的变量组成一个整体的方法,即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]);
三、使用实例
1.先定义一个只与SF_ORG表中某几个列的数据类型相同的记录数据类型TYPE_ORG_RECORD,
2.然后声明一个该数据类型的记录变量V_ORG_RECORD,最后用替换变量&ORG_ID接受输入的雇员编码,查询并显示该雇员的这几列中的信息。
3.注意,在使用RECORD数据类型的变量时要用“.”运算符指定记录变量名限定词。
4 . 一个记录类型的变量只能保存从数据库中查询出的一行记录,如果查询出了多行记录,就会出现错误。
DECLARE
TYPE TYPE_ORG_RECORD IS RECORD(
V_ORG_NAME SF_ORG.ORG_NAME%TYPE,
V_PARENT_ID SF_ORG.PARENT_ID%TYPE);
V_ORG_RECORD TYPE_ORG_RECORD;
BEGIN
SELECT ORG_NAME,PARENT_ID INTO V_ORG_RECORD
FROM SF_ORG SO
WHERE SO.ORG_ID=&ORG_ID;
DBMS_OUTPUT.PUT_LINE('部门名称:' || V_ORG_RECORD.V_ORG_NAME);
DBMS_OUTPUT.PUT_LINE('上级部门编码:' || TO_CHAR(V_ORG_RECORD.V_PARENT_ID));
END;