我是Oracle的新手,刚刚读到标量变量没有内部组件,而复合变量有内部组件。
您能解释一下这个内部组件是什么吗? 它是如何工作的?它的目的是什么?
答案 0 :(得分:3)
您需要阅读有关PL / SQL记录和集合的文档:
http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/composites.htm
复合变量的内部组件只是构成变量本身的结构。
e.g。
在集合中,内部组件始终具有相同的数据 类型,并称为元素。您可以访问a的每个元素 集合变量的唯一索引,使用以下语法: 变量名称(索引)。要创建集合变量,您要么 定义集合类型,然后创建该类型的变量或 使用%TYPE。
在记录中,内部组件可以具有不同的数据类型, 并称为字段。您可以访问记录变量的每个字段 按名称,使用以下语法:variable_name.field_name。创建一个 记录变量,您要么定义RECORD类型,然后创建一个 该类型的变量或使用%ROWTYPE或%TYPE。
例如,如果我创建一个记录类型:
TYPE person_rectype IS RECORD (
forename VARCHAR2(30),
surname VARCHAR2(30),
sex VARCHAR2(1),
dob DATE
);
然后声明该类型的变量:
applicant_rec person_rectype;
变量applicant_rec
包含forename
和surname
的内部组件sex
,dob
,VARCHAR2
和DATE
数据类型。
希望它有所帮助...