如何在 Oracle 19c 中用整数变量声明 ARRAY 作为元素数

How to Declare VARRAY with Integer variable as Number of Elements in Oracle19c

尝试用 'Number of Elements' 声明一个 PL SQL VARRAY 作为先前声明的变量,但我收到此错误:

PLS-00325: non-integral numeric literal NUM_ENV_COUNT is inappropriate in this context

这是我尝试过的:

Declare 
    num_Env_Count INTEGER := 3;
    type arr_text is VARRAY(num_Env_Count) of VARCHAR2(2000);
    arr_Env_Type arr_text := ('D','V','P'); 
Begin
    for i in 1..num_Env_Count loop
        DBMS_OUTPUT.PUT_LINE(arr_Env_Type(i));
    end loop;
end;

没有。你试过了吗?如果你 do/did 那么你会得到一个 PLS-00320 指示,表明表达式格式错误。我理解避免重复垃圾变量的愿望。您可以通过嵌套 table.

实现相同的效果
Declare 
    type arr_text is table of VARCHAR2(2000) ; 
    arr_Env_Type arr_text := arr_text('D','V','P'); 
Begin
    for i in 1..arr_Env_Type.count loop
        DBMS_OUTPUT.PUT_LINE(arr_Env_Type(i));
    end loop;
end;