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



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

即使当我从Pluggable数据库中检索表时,它也会获取所有表(带有-$-符号名称的默认表),但当我在ORACLE SQL DEVELOPER中连接可插入用户时,它只显示(用户创建的)没有默认表的表。

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

只过滤所有者:

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

您可以根据您的权限查询视图[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时,必须在UPPER CASE中筛选OWNER

例如,

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

相关内容

  • 没有找到相关文章

最新更新