类型:存放一组数据类型相同的数据,是相同类型元素的组合。
分类:
1.索引表
2.嵌套表
3.可变长度数组
属性和方法:
1.first:取集合的第一元素的下标
2.last:取集合的最后一个元素的下标
3.count : 取集合的总长度
4.limit : 取集合索引的最大值(索引,嵌套表不限个数,故会返回null。)
5.delete(n,[,ind]):删除集合中的元素,加n表示下标。
6.extend(n,[,ind]):扩展集合元素。n代表扩展个数,ind表示元素下标。
7.next(下标) : 取当前元素下一个元素的下标。
8.prior(下标) : 取当前元素上一个元素的下标。
索引表:
1.使用整数(可为负)(pls_integer,binary_integer)
2.下标可以不连续
3.元素个数无限制
4.不可存储在数据库中
语法:
type 类型名称 is table of 数据类型(集合中的类型)
index by 下标的数据类型(varchar2,pls/binary_integer);
声明: 变量名 类型名;
存取: 集合变量(下标);
嵌套表:
1.整数(只能为正)
2.下边是连续的
3.元素个数无限制
4.可以存储在数据库中
注:如果要删除嵌套表,需要先删除关联嵌套表类型的表;
定义:
type 类型名称 is table of 数据类型(存储的数据类型);
声明: 变量名 类型名称;
存取: 集合变量(下标);
嵌套表赋值之间需要初始化。
初始化:
变量名 :=类型名();
变量名:=类型名(值1,值2,值3......);
可变长度数组:
1.整数(只能为正)
2.下标连续的
3.元素个数有限制
4.可以存储在数据库中
定义:
type 类型名称 is (varray/varying array(长度))
of 数据类型(保存的数据的数据类型);
声明: 变量名 类型名 ;
需要初始化
bulk collect :
可以把一组数据取出来存入一个集合类型变量中
用法:
select....into 变量;
select....bulk collect into 集合类型变量;