i have following structure of a procedures inside a package:
PROCEDURE proc_All
(
start IN date := null,
end IN date := null,
cursor1 OUT sys_refcursor,
cursor1 OUT sys_refcursor,
cursor1 OUT sys_refcursor );
PROCEDURE proc_1
(
start1 IN date := null,
end1 IN date := null,
cursor1_1 OUT sys_refcursor, );
PROCEDURE proc_3
(
start2 IN date := null,
end2 IN date := null,
cursor1_2 OUT sys_refcursor, );
PROCEDURE proc_3
( start3 IN date := null,
end3 IN date := null,
cursor1_3 OUT sys_refcursor, );
Now my requirement is that i want first procedure proc_All to call all three next procedure, as i want proc_All to be called by program. how can i pass variables to a procedure when calling inside other procedure (weather they are IN or OUT type)
can anyone please help.. thanx in advance
Loading
Datta KharadPosted Jan 27, 2012, 4:38 AM
Refer below code, i think it will help you.....
SQL> create or replace procedure innerproc (v1 in out varchar2) as
2 begin
3 v1 := v1 || ' inner ';
4 end;
5 /
Procedure created.
SQL>
SQL> create or replace procedure outerproc (v1 in out varchar2) as
2 begin
3 v1 := v1 || ' outer';
4 innerproc(v1);
5 end;
6 /
Procedure created.
SQL>
SQL> var val1 varchar2(4000);
SQL> exec :val1 := 'hello';
PL/SQL procedure successfully completed.
SQL> exec outerproc(:val1);
PL/SQL procedure successfully completed.
SQL> print val1;
VAL1
-----------------------------------------------------------------------------
hello outer inner
SQL>