ok, great.  Thanks!

On Wed, May 13, 2009 at 3:58 PM, ddf <orat...@msn.com> wrote:

>
>
>
> On May 13, 2:40 pm, Joel <johow...@gmail.com> wrote:
> > (oracle 10.2.0.4) is it possible for a stored procedure to dynamically
> > determine what schema it lives in for use with qualifying objects in
> > the current schema?
> >
> > e.g. if the stored procedure SUPER_STORED_PROC lives in the DEV_DATA
> > schema, it would read DEV_DATA into the variable CURRENT_SCHEMA ... if
> > SUPER_STORED_PROC lives in PROD_DATA then it would read PROD_DATA into
> > the variable CURRENT_SCHEMA ...
>
> Believe it or not it can:
>
> SQL> create or replace procedure self_aware(curr_schema in out
> varchar2)
>  2  as
>  3  begin
>  4
>  5          curr_schema:=sys_context('USERENV','CURRENT_SCHEMA');
>  6
>  7  end;
>  8  /
>
> Procedure created.
>
> SQL>
> SQL> grant execute on self_aware to bong;
>
> Grant succeeded.
>
> SQL>
> SQL> declare
>  2          currsch varchar2(80);
>  3  begin
>  4          self_aware(currsch);
>  5
>  6          dbms_output.put_line(currsch);
>  7
>  8  end;
>  9  /
> BING
>
> PL/SQL procedure successfully completed.
>
> SQL>
> SQL> connect *****/#######
> Connected.
> SQL>
> SQL> declare
>  2          currsch varchar2(80);
>  3  begin
>  4          bing.self_aware(currsch);
>  5
>  6          dbms_output.put_line(currsch);
>  7
>  8  end;
>  9  /
> BING
>
> PL/SQL procedure successfully completed.
>
> SQL>
>
> Note that CURRENT_SCHEMA is an attribute of the USERENV context, so I
> wouldn't use that as a variable name.
>
>
> David Fitzjarrell
>  >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Oracle PL/SQL" group.
To post to this group, send email to Oracle-PLSQL@googlegroups.com
To unsubscribe from this group, send email to
oracle-plsql-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/Oracle-PLSQL?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to