Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: session current_user vs user_tables etc
"Malcolm Dew-Jones" <yf110_at_vtn1.victoria.tc.ca> wrote in message
news:43d7fedd$1_at_news.victoria.tc.ca...
>I can use
> alter session set current_schema=xxx
>
> and then queries such as
> select * from table_name_no_schema
> will find the table in the xxx schema, just as if I was xxx to begin with.
>
> However, if I do queries such as
> select * from user_tables
> then I see my own tables, not the xxx tables (which is understandable, I'm
> not questioning that).
>
> My question is, are there any views similar to the user_* views but to
> access things within the current_schema, or must I use the all_* views and
> filter everything by sys_context('USERENV','CURRENT_SCHEMA') ?
>
> Feedback appreciated.
>
> malcolm
SQL> show user
USER is "OEX"
SQL> select sys_context('USERENV','CURRENT_SCHEMA') from dual;
SYS_CONTEXT('USERENV','CURRENT_SCHEMA')
TABLE_NAME
EURO_AUTHS EURO_COLUMN_FORMATS EURO_FORMAT_TYPES
SQL> alter session set current_schema = scott;
Session altered.
SQL> select table_name from all_tables
2 where owner = sys_context('USERENV','CURRENT_SCHEMA');
TABLE_NAME