牛骨文教育服务平台(让学习变的简单)
博文笔记

PL/SQL 集合 -- 多维数组

创建时间:2015-01-05 投稿人: 浏览次数:1634

-- Start

可变数组之多维数组。

DECLARE
  -- 定义一个可变数组类型 TYPE_TEST1,它的最大容量是2,元素类型是 INT
  TYPE TYPE_TEST1 IS VARRAY(2) OF INT;
  
  -- 定义一个可变数组类型 TYPE_TEST2,它的最大容量是5,元素类型是 TYPE_TEST1
  TYPE TYPE_TEST2 IS VARRAY(5) OF TYPE_TEST1;
  
  -- 定义一个类型为 TYPE_TEST2 的可变数组变量 VAR
  VAR TYPE_TEST2 := TYPE_TEST2(TYPE_TEST1(1, 2), TYPE_TEST1(3, 4), TYPE_TEST1(5, 6));

BEGIN

  FOR i IN 1..3 LOOP
    FOR j IN 1..2 LOOP
      DBMS_OUTPUT.PUT(VAR(i)(j) || "    ");
    END LOOP;
    DBMS_OUTPUT.PUT_LINE("");
  END LOOP;
  
END;
/

嵌套表之多维数组。

DECLARE
  -- 定义一个嵌套表类型 TYPE_TEST1,元素类型是 VARCHAR2
  TYPE TYPE_TEST1 IS TABLE OF VARCHAR2(10);
  
  -- 定义一个嵌套表类型 TYPE_TEST2,元素类型是 TYPE_TEST1
  TYPE TYPE_TEST2 IS TABLE OF TYPE_TEST1;
  
  -- 定义一个类型为 TYPE_TEST2 的嵌套表变量 VAR
  VAR TYPE_TEST2 := TYPE_TEST2(TYPE_TEST1("1", "张三"), TYPE_TEST1("2", "李四"));

BEGIN

  FOR i IN 1..2 LOOP
    FOR j IN 1..2 LOOP
      DBMS_OUTPUT.PUT(VAR(i)(j) || "    ");
    END LOOP;
    DBMS_OUTPUT.PUT_LINE("");
  END LOOP;
  
END;
/

--更多参见:Oracle PL/SQL 精萃

-- 声明:转载请注明出处

-- Last Edited on 2015-01-05

-- Created by ShangBo on 2015-01-05

-- End


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。