甲骨文中的复合数据类型

1)显示定义记录类型;,

,

声明,——显示定义一个记录类型myrec 

,,类型myrec记录(

,,,,,combine_no VARCHAR2 (10),

,,,,,department_code VARCHAR2 (11)

,,,);

,——声明一个myrec类型的变量rcd;

,,,rcd myrec;

开始,,选择nr.combine_no nr.department_code,恢复到从rate_combine_nr nr nr.combine_no=癎600000001”;

,,dbms_output.put_line (rcd.combine_no | |”——“| | rcd.department_code);

,



2)有一些PL/SQL指令在使用隐式定义记录时没有使用% ROWTYPE属性,比如游标为循环;

声明,光标mycur is 

,,select * from rate_combine_nr nr rownum & lt; 10;

,

,,rcd mycur % rowtype;——这个可以省略;


开始,,对rcd mycur循环

,,,,dbms_output.put_line (rcd.combine_no | |”——“| | rcd.department_code);

,,结束循环;


,



3) PL/SQL有三种类型的集合

VARRAY集合中的元素的数量是有限,Index_by和嵌套表则是没有限制的

。) Index_by表

,Index_by表集合的定义语法如下:

,。类型type_name element_type表(非空)指数BINARY_INTERGET;

,。这里面重要的关键字是由BINARY_INTERGET指数,没有这个关键字,那么集合将是一个嵌套表;

,。一旦定义了index_by表,就可以向创建其他变量那样创建index_by表的变量;

。)嵌套表

,,嵌套表非常类似于Index_by表,创建的语法也非常相似,使语用类型句,只是没有指数BINARY_INTEGER子串

,,类型type_name element_type表(非空),


。) VARRAY

,VARRAY或数据变量都有元素的限制。想起他集合一样VARRAY定义仍然使语用类型句,但关键字VARRAY或VARRYING

,数组告诉甲骨文这,是一个VARRAY集合。

,类型type_name VARRAY (max_size) element_type [NOT NULL];

,。下标的取值从1开始;


甲骨文中的复合数据类型