Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Is this possible with "execute immediate"

Re: Is this possible with "execute immediate"

From: Frank van Bortel <frank.van.bortel_at_gmail.com>
Date: Mon, 24 Apr 2006 20:08:30 +0200
Message-ID: <e2j44j$u4h$1@news5.zwoll1.ov.home.nl>


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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US