如何从当前会话/用户获取表格

时间:2015-11-26 08:24:44

标签: oracle oracle12c

我很难获得给定用户名或当前会话/用户的表格; 我可以使用select table_name from all_tables;获取所有表,但它也可以检索默认创建的表。我只想要我们创建的表格。

即使我从Pluggable数据库中检索表,它也会获取所有表(default-tables-with - $ - sign-name),但是当我在ORACLE SQL DEVELOPER中连接pluggable-user时,它只显示(用户创建的)表没有默认表。

我想要显示表格的所有查询,没有默认用户的用户($ sign name)表,用户;对于sqlplus。我使用的是ORACLE-12C。

2 个答案:

答案 0 :(得分:0)

只需过滤主人:

select table_name from all_tables where owner='YOUR OWNER NAME';

答案 1 :(得分:0)

您可以查询视图 [DBA | ALL | USER] _TABLES ,具体取决于您拥有的权限。

查询 USER_TABLES 会提供您已登录的当前所有者拥有的所有表格。

例如,

SQL> show user
USER is "LALIT"
SQL> SELECT table_name FROM user_tables;

TABLE_NAME
--------------------------------------------------------------------------------

no rows selected

SQL> create table t(a number);

Table created.

SQL> SELECT table_name FROM user_tables;

TABLE_NAME
--------------------------------------------------------------------------------
T

使用 DBA / ALL 时,您必须在大写中过滤所有者

例如,

SQL> show user
USER is "SYS"
SQL> SELECT table_name FROM dba_tables WHERE OWNER='LALIT';

TABLE_NAME
--------------------------------------------------------------------------------
T
相关问题