购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1.1 关联数组

关联数组是一组键值对。每个键都是一个唯一的索引,用于定位与之相关联的值,语法格式如下。

索引的数据类型可以是字符串类型(VARCHAR2、VARCHAR、STRING或LONG)或PLS_INTEGER。其中数据是按索引排序顺序存储,而不是按创建顺序存储。

与数据库表相同的是:

①关联数组在填充之前为空,但不为NULL。

②关联数组可以容纳不定量的元素,可以在不知道其位置的情况下访问这些元素。

与数据库表不同的是:

①关联数组不需要磁盘空间或网络操作。

②关联数组不能使用DML语句操作。

1.关联数组的声明

示例3.1: 以字符串为索引的关联数组。

功能描述: 本例定义一种按字符串索引的关联数组,并声明该类型的变量,用3个元素填充该关联数组,然后更改其中一个元素的值,并打印值(数据是按索引排序顺序存储,而不是按创建顺序)。

程序代码如下。

程序运行结果如下。

示例3.2: 函数返回以PLS_INTEGER为索引的关联数组。

功能描述: 本例定义了一种以PLS_INTEGER为索引的关联数组,以及一个返回该关联数组类型的函数。

程序代码如下。

程序运行结果如下。

2.关联数组的适用情况

关联数组适用于以下情况。

①查找一个相对较小的表,每次调用子程序或初始化声明子程序的包时,都可以在内存中构造它。

②向数据库服务器传递集合和从数据库服务器传递集合。

关联数组用于临时数据存储。要使关联数组在数据库会话的生命周期内保持存在,请在包规范中声明它,并在包体中对其进行填充赋值。 eDTg11jUG0H2QeqEk2lRy1mQHmOwU8aURBhQgerGbsPi6VF1mGAV7gnDkDzqkjOk

点击中间区域
呼出菜单
上一章
目录
下一章
×