导出后成为下面这种表格形式:
序号 字段名 字段说明 数据类型 允许为空 主键(P)/外键(F) 说明
1 ATTACH_ID NUMBER(10) N P
2 POST_ID NUMBER(10) Y F
3 PRIVMSGS_ID NUMBER(10) Y F
4 USER_ID NUMBER(10) N F 我使用DBExportDoc_V1.0_For_Oracle总是报错:没有选定文字!
请问有其他的方法吗?因为我的数据库表比较多,手动的话会耗费很多时间!

解决方案 »

  1.   

    spool C:\sql_ddl.txt;
    select dbms_metadata.get_ddl('TABLE','TABLE_NAME') FROM dual;
    spool off;-- TABLE_NAME 是你的表名-- 然后打开C:\sql_ddl.txt文件,里面有你要的代码!
      

  2.   

    我导出上述形式的表结构呀(以表格的形式)
    序号    字段名      字段说明     数据类型     允许为空     主键(P)/外键(F)       说明
    1    ATTACH_ID    NUMBER(10)                N           P 
    2    POST_ID      NUMBER(10)                Y           F 
    3    PRIVMSGS_ID  NUMBER(10)                Y           F 
    4     USER_ID     NUMBER(10)                N           F 
      

  3.   

    SELECT t1.Table_Name AS "表名称",
           t3.comments AS "表说明", 
           t1.Column_Name AS "字段名称",
           t2.Comments AS "字段说明",
           t1.Data_Type AS "数据类型",
           t1.Data_Length AS "长度",
           t1.NullAble AS "是否为空",
           t1.Data_Default "默认值"
    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 
    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 )
    ORDER BY t1.Table_Name, t1.Column_ID;
      

  4.   


    -- 如果要指定某个表,加 个 where t1.Table_Name = 'xxx' 就OK啦!
      

  5.   

    SELECT t1.Table_Name AS "表名称",
           t3.comments AS "表说明", 
           t1.Column_Name AS "字段名称",
           t2.Comments AS "字段说明",
           t1.Data_Type AS "数据类型",
           t1.Data_Length AS "长度",
           t1.NullAble AS "是否为空",
           t1.Data_Default "默认值"
    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 
    WHERE NOT EXISTS ( SELECT t4.Object_Name FROM User_objects t4
               WHERE t4.Object_Type='TABLE' 
               AND t4.Temporary='N' 
               AND t4.Object_Name=t1.Table_Name )
    ORDER BY t1.Table_Name, t1.Column_ID;-- 修改一下:AND t4.Temporary='N',当 t4.Temporary='Y'时,表示你查询的是当前用户下的临时表!