读取二维pl / sql数组

时间:2018-07-27 14:57:14

标签: oracle plsql

我能够插入值,但无法检索值。谢谢您。

declare
  type type1 is table of number;
  type data_type is table of type1;
  y data_type;
begin
  y := data_type();
  y.extend(100);
  for i in 1..100 loop
    y(i) := type1();
    y(i).extend(100);
    for j in 1..100 loop
      y(i)(j) := i+j; 
    end loop;
  end loop;
end;

1 个答案:

答案 0 :(得分:0)

如果我很了解,您需要一种扫描阵列的方法; 这可能是一种方式:

declare
  type type1 is table of number;
  type data_type is table of type1;
  y data_type;
  k number := 2;
begin
  y := data_type();
  y.extend(k);
  for i in 1..k loop
    y(i) := type1();
    y(i).extend(k);
    for j in 1..k loop
      y(i)(j) := i+j; 
    end loop;
  end loop;
  -- scanning
  for i in y.first .. y.last loop
    for j in y(i).first .. y(i).last loop
        dbms_output.put_line('Y(' || i || ')(' || j || ') = ' || y(i)(j));
    end loop;
  end loop;
end;

结果:

Y(1)(1) = 2
Y(1)(2) = 3
Y(2)(1) = 3
Y(2)(2) = 4