Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Is this possible with "execute immediate"
Jeremy wrote:
> Want to call target procedure using dynamic SQL.
>
> Target procedure is defined thus:
>
> create or replace package vr is
> procedure form_1
> (p_id in number default null,
> p_name in util.array default util.empty_array,
> p_value in util.array default util.empty_array);
>
> Now I want to call this using dynamic sql e.g.
>
> execute immediate
> 'begin vr.procname(p_id=>1,p_name=>'||l_name||'); end;';
>
> where l_name is defined as
>
> l_name util.array;
>
> And util.array is
> type array is table of varchar2(4000) index by binary_integer;
>
> The pl/sql with the "execute immediate" statement doesn't compile - and
> I understand why - but the question is can anyone tell me how (if) this
> can be done? It does need to be dynamic.....
>
>
Something along the line of:
declare
g_proc varchar2(40) := 'vr.procname';
g_name varchar2(40) := 'l_name';
begin
execute immediate (
':l_procname(p_id=>1,p_name=>:l_name'
)
using g_proc, g_name;
end;
?
-- Regards, Frank van Bortel Top-posting is one way to shut me up...Received on Mon Apr 24 2006 - 13:08:30 CDT