日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

關(guān)聯(lián)數(shù)組

區(qū)別于變長數(shù)組和嵌套表的形如數(shù)組的使用形式,關(guān)聯(lián)數(shù)組(associative array)是一組鍵值對,使用形式更像是哈希表。

語法

TYPE type_name IS TABLE OF value_type [NULL | NOT NULL] INDEX BY key_type ';'

示例

以下是一個關(guān)聯(lián)數(shù)組的基本示例:

DECLARE
  TYPE aarray_type IS TABLE OF INT INDEX BY VARCHAR(10); -- 聲明 associative array 局部類型
  aarray aarray_type;  -- 創(chuàng)建變量, 并將它初始化為空
BEGIN
  aarray('a') := 1; -- 賦值
  RAISE NOTICE '%', aarray('a'); -- 取值
END;

結(jié)果顯示如下:

NOTICE:  1
DO

相比于嵌套表,關(guān)聯(lián)數(shù)組的聲明語法多了INDEX BY index_type部分,用于聲明索引的類型。索引的排序方式由索引類型的排序順序決定,目前支持正整數(shù)或字符串作為索引類型。關(guān)聯(lián)數(shù)組會被默認(rèn)初始化為空,因此您可以對特定索引位置直接進(jìn)行賦值。如果在取值前沒有對該索引位置進(jìn)行賦值,會出現(xiàn)不存在該元素的錯誤。以下是一個嘗試獲取不存在的元素的示例:

DECLARE
  TYPE aarray_type IS TABLE OF INT INDEX BY VARCHAR(10);
  aarray aarray_type;
BEGIN
  RAISE NOTICE '%', aarray('b');
END;

結(jié)果顯示如下:

ERROR:  associatvie arrays element is not exist
CONTEXT:  PL/SQL function inline_code_block line 5 at RAISE