Oracle记录集合
记录
PL/SQL支持三种类型的记录:基于表的(table-based)、
基于游标的(cursor-based)以及程序员定义的(programmer-defined)
基于表的记录就是该记录的结构来自于数据库表中所有字段的列表。
基于游标的记录就是记录的结构来自于游标的select列表。
为创建一个基于表或者基于游标的记录,可以使
用%ROWTYPE属性。语法:
record_name table_name or cursor_name%ROWTYPE;
用户定义记录
语法如下:
TYPE type_name IS RECORD --声明记录类型
(field_name1 DATATYPE1 ,
field_name2 DATATYPE2,
……
field_nameN DATATYPEN);
record_name TYPE_NAME;--声明记录变量
补充:记录类型只有一个字段时,没有实际意义等价于variable,当然这个字段可来自cursor。
集合
声明集合的写法:
TYPE type_name IS TABLE OF element_type
INDEX BY index_type;
TYPE type_name IS VARRAY(size_limit)OF element_type ;
element_type可以是:
any datatype,suchas number;
table_name.column_name%type;
table_name%rowtype;
cursor_name%rowtype.