如何更改关联数组中的下标/索引值?

时间:2018-05-21 14:01:51

标签: oracle plsql

是否可以更改关联数组中现有元素的下标/索引值?

 declare
  type a_arr is table of varchar2(20) index by pls_integer;
  tb1 a_arr;
 begin
  tb1(1) := 'aaaa';
  tb1(2) := 'bbbb';
  tb1(3) := 'cccc';
 end;
 /

在上面的关联数组tb1中,是否可以将下标值从1更改为10(即从tb1(1)更改为tb1(10))而不删除或创建新元素表

1 个答案:

答案 0 :(得分:0)

目前还不清楚你想做什么。这是基本的一般例子。输出是“aaaa”的10倍。您可以在其间添加一些逻辑。例如,如果i = 3,那么tbl_val:='bbbb'或smth lk this。如果您创建过程,也可以参数化开始和/或结束循环边界。

DECLARE
  type a_arr is table of varchar2(20) index by pls_integer;
  tb1 a_arr;
  tbl_val VARCHAR2(20):= 'aaaa';
BEGIN
  FOR i IN 1..10 LOOP
    tb1(i):= tbl_val;
    dbms_output.put_line(tb1(i));
  END LOOP;
END;
/