如何轻松引用关联数组的索引类型?

时间:2016-02-02 10:51:16

标签: oracle plsql

是否有一种简单的方法可以在声明表示其键的变量时引用PLSQL中关联数组的索引类型?

我正在寻找类似于以下语言的语言结构。

DECLARE
  i number;
  j i%type;
BEGIN
  null;
END;

我希望能够做到这一点。

DECLARE
  type ty_my_type is table of number index by varchar2(4);
  my_array ty_my_type;
  -- key my_array.key%type;
  -- or
  -- key my_array%keytype;
BEGIN
  null;
END;

1 个答案:

答案 0 :(得分:5)

您可以声明SUBTYPE并使用:

DECLARE
  SUBTYPE KEY_TYPE IS VARCHAR2(4);
  TYPE ASSOC_ARRAY_TYPE IS TABLE OF NUMBER INDEX BY KEY_TYPE;

  my_array ASSOC_ARRAY_TYPE;
  my_key   KEY_TYPE;
BEGIN
  NULL;
END;
/