Yes, Andy is right we should use bind variables in this case.
try this.
Create or replace Procedure Test_RefCurosr(Pemp_Id number,Pout IN OUT
sys_refcursor)
as
V_Query Varchar2(2000);
Begin
V_Query :='select * from emp where EMPNO=:x';
Open Pout for
V_Query using Pemp_Id;
End;
/
On Jan 15, 2:05 pm, Toxic <[email protected]> wrote:
> Spot on, that's the way I do it although I would use bind variables
> which enable execution plans to be reused, thus increasing
> performance. All depends upon your scenario of course.
> Seehttp://www.akadia.com/services/ora_bind_variables.html
>
> Andy
>
> On Jan 14, 10:08 am, somy <[email protected]> wrote:
>
> > you may try this( works with scott schema)
>
> > Create or replace Procedure Test_RefCurosr(Pemp_Id number,Pout IN OUT
> > sys_refcursor)
> > as
> > V_query varchar2(2000);
> > Begin
> > V_query:='select * from emp where EMPNO='||Pemp_ID;
>
> > Open Pout for
> > V_query;
>
> > End;
> > /
>
> > Variable x refcursor;
> > exec Test_RefCurosr(7369,:x);
> > Print X;
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Oracle PL/SQL" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/Oracle-PLSQL?hl=en
-~----------~----~----~----~------~----~------~--~---