集合--索引表

记录是一种单行多列的数据结构,集合是一种单列多行的数据结构。集合类似于高级语言中的列表或一维数组,主要用来存储具有相同数据类型的元素的有序集合,

每一个元素都有唯一的下标来标识当前元素在集合中的位置。

索引表:由键值对组成,类似于其他语言的哈希表,键是唯一用来识别索引表中元素的识别符,类似于数组中的下标。索引表的下标既可以是整数,也可以是字符串

    索引表不能被存储在Oracle数据库表中,仅仅只是内存表,只能在PL/SQL中使用,如果需要在内存中保存和维护列表,则优先选择索引表。

特点:

(1)索引表不需要进行初始化,没有构造语法,在为其赋值之前不需要分配初始空间,因此不需要动态地扩展其容量(类似于链表)。

(2)索引表的下标既可以是整数,也可以是变长的字符串  integer/varcahar2。

(3)当使用数字类型作为索引下标时,索引键可以为正数、负数或 0,并且数字可以不连续。

语法:

TYPE  type_name  IS TABLE OF element_type [NOT NULL]

INDEX BY [ PLS_INTEGER | BINARY_INTEGER | VARCHAR2(size) ] ;

eg: TYPE hiredate_idx_table   IS TABLE OF   DATE INDEX BY PLS_INTEGER;

  v_hire_date  hiredate_idx_table;

原文地址:https://www.cnblogs.com/ly01/p/8528484.html