如何使用 plsql table 参数在匿名块中传递值

How to pass values in anonymous block with plsql table parameter

Tableabc有以下列

 approved_ain
    1
    2
    12
    34

我有一个程序

create or replace procedure abc( p_admin varchar2,
p_approved_ain  abc.approved_ain)--plsql table in parameter

begin

end;

现在,当我在匿名块中调用此过程时:-

declare 
l_Admin varchar2(100);
l_approved_ain abc.approved_ain;

begin
abc(l_Admin ,l_approved_ain);
commit;

end;

如何将 plsql table 的 approved_ain 的值传递给这个匿名块。?那就是我想通过传递 abc table approved_ain 列的值来测试它......

答案:

 declare 
    l_Admin varchar2(100);
    l_approved_ain abc.approved_ain;

    begin
l_approved_ain(1) :=123;
l_approved_ain(2) :=4645;
    abc(l_Admin ,l_approved_ain);
    commit;

    end;

考虑到您只想测试,在匿名块中设置值怎么样:

declare 
l_Admin varchar2(100) := 'string';
l_approved_ain abc.approved_ain := ???;

begin
abc(l_Admin ,l_approved_ain);
commit;

end;