嵌套表

嵌套表(nested table)在使用上类似于不限制最大长度的变长数组。

注意事项

除了声明方式以及对最大长度的限制上有所区别,其他使用方式和变长数组一致。

语法

TYPE type_name IS TABLE OF datatype [NULL | NOT NULL] ';'

示例

以下是一个嵌套表的基本示例:

DECLARE
  TYPE nt_type IS TABLE OF INT; -- 声明 nested table 局部类型
  nt nt_type := nt_type();  -- 创建变量, 并将它初始化为空
BEGIN
  nt.extend(1); -- 扩建它的大小, 之后允许在索引为1的位置上赋值和取值
  nt(1) := 1; -- 赋值
  RAISE NOTICE '%', nt(1); -- 取值
END;

结果显示如下:

NOTICE:  1
DO