【问题标题】:How to get user tables from Oracle SQL?如何从 Oracle SQL 获取用户表?
【发布时间】:2019-10-17 18:49:17
【问题描述】:

我正在尝试获取特定用户的表名,然后查找该表中的列。

目前,我得到了所有的用户名

select * from all_users;

获得所有用户名后,我想提取这些用户最终找到特定用户在特定表中的列的表。

如何找到用户的所有表?

例如,如果对于用户“James”,我想要他的表“My_games”的所有列 我会用

DESCR James.My_games

但我不确定

如何获取多个用户表的列信息,以便将其导出到 excel 中。

【问题讨论】:

    标签: oracle oracle-sqldeveloper


    【解决方案1】:

    查找用户包含的表:

    SQL> select table_name from user_Tables;
    
    TABLE_NAME
    ------------------------------
    EMP
    DEPT
    BONUS
    

    检查它们包含哪些列:

    SQL> select column_name from user_tab_Columns where table_name = 'DEPT';
    
    COLUMN_NAME
    ------------------------------
    DEPTNO
    DNAME
    LOC
    
    SQL>
    

    从表中选择数据:

    SQL> select * from dept;
    
        DEPTNO DNAME          LOC
    ---------- -------------- -------------
            10 ACCOUNTING     NEW YORK
            20 RESEARCH       DALLAS
            30 SALES          CHICAGO
            40 OPERATIONS     BOSTON
    
    SQL>
    

    将内容保存到文件中(来自 SQL*Plus):spool;最简单(但不是最好)的方法是

    SQL> spool dept.txt
    SQL> select * from dept;
    
        DEPTNO DNAME          LOC
    ---------- -------------- -------------
            10 ACCOUNTING     NEW YORK
            20 RESEARCH       DALLAS
            30 SALES          CHICAGO
            40 OPERATIONS     BOSTON
    
    SQL> spool off
    

    要将数据导出到 Excel - 就像您使用 SQL Developer 一样:

    • 在对象导航器中,右键单击您感兴趣的表
    • 选择“导出”
      • 勾选你想要的,取消勾选你不想要的
      • 选择格式(已提供 Excel)
      • 导出数据

    【讨论】:

      猜你喜欢
      • 2021-10-14
      • 2016-05-19
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 2013-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多