Oracle 导出表结构(含列名、数据类型、字段备注注释)导出成Excel

oracle表结构涉及到几个关键的系统表:

  • cols –系统表 
    cols表

  • user_col_comments –表名、列名、说明 
    user_col_comments表

  • user_tab_comments –表名、类型、说明 
    user_tab_comments表

  • user_objects – 字典表视图 

  • 真正导出的SQL语句整理如下:

SELECT 
--t1.Table_Name || chr(13) || t3.comments       AS "表名称及说明",
     ROWNUM ,
       t1.Column_Name                                AS "字段名称",
       t1.DATA_TYPE             AS "数据类型",
             t1.DATA_LENGTH    AS "长度",
       t1.NullAble                                   AS "是否为空",
       t2.Comments                                   AS "字段说明",
       t1.Data_Default "默认值"
       --t4.created                                  AS "建表时间"
               --t3.comments                                 AS "表说明",
  FROM cols t1
  LEFT JOIN user_col_comments t2 
         ON t1.Table_name = t2.Table_name
        AND t1.Column_Name = t2.Column_Name
  LEFT JOIN user_tab_comments t3 
         ON t1.Table_name = t3.Table_name
  LEFT JOIN user_objects t4 
         ON t1.table_name = t4.OBJECT_NAME
  WHERE NOT EXISTS (SELECT t4.Object_Name
          FROM User_objects t4
         WHERE t4.Object_Type = 'TABLE'
           AND t4.Temporary = 'Y'
           AND t4.Object_Name = t1.Table_Name)
                     and t1.TABLE_NAME='你要查询的表名'
  ORDER BY t1.Table_Name, t1.Column_ID; 

猜你喜欢

转载自blog.csdn.net/liu_yulong/article/details/83619122