我很难获得给定用户名或当前会话/用户的表格;
我可以使用select table_name from all_tables;
获取所有表,但它也可以检索默认创建的表。我只想要我们创建的表格。
即使我从Pluggable数据库中检索表,它也会获取所有表(default-tables-with - $ - sign-name),但是当我在ORACLE SQL DEVELOPER中连接pluggable-user时,它只显示(用户创建的)表没有默认表。
我想要显示表格的所有查询,没有默认用户的用户($ sign name)表,用户;对于sqlplus。我使用的是ORACLE-12C。
答案 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