index by表: 定义方式:type tabletype is table of type index by binary_interget 特点:要害字可以是binary_interget的任意值,不需要初始化 例子: TYPE StudentTab IS TABLE OF students%ROWTYPE INDEX BY BINARY_INTEGER; v_Students(1).first_name := 'Larry';
嵌套表: 定义方式:type tabletype is table of type [not null] 特点:要害字不能是负值,必须用有序的要害字创建,可以存储在表中,使用前必须先初始化 例子: TYPE NumbersTab IS TABLE OF NUMBER; -- Create a table with one element. v_Tab1 NumbersTab := NumbersTab(-1); 备注: v_Tab1 NumbersTab ; v_Tab1 := NumbersTab(-1); 等同于 v_Tab1 NumbersTab := NumbersTab(-1);
可变数组: 定义方式:type type_name is {varray varying varray} (max_size) of element_type[not null] 特点:跟嵌套表相似,不过他有最大值限制 例子: TYPE Strings IS VARRAY(5) OF VARCHAR2(10); v_List Strings := Strings('One', 'Two', 'Three');