oracle導出表結構及注釋


雖然DESC 命令能查看表的結構,但有時希望將表的結構輸入到一張表中去或導入到EXCEL。用DESC命令有點繁瑣。其實一條SQL語句即可。

查詢自己能看到的表的表結構:

SELECT T1.TABLE_NAME,
       T1.COLUMN_NAME,
       T1.DATA_TYPE || '(' || T1.DATA_LENGTH || ')',
       T2.COMMENTS
  FROM USER_TAB_COLS T1, USER_COL_COMMENTS T2
 WHERE T1.TABLE_NAME = T2.TABLE_NAME
   AND T1.COLUMN_NAME = T2.COLUMN_NAME
   AND T1.TABLE_NAME = 'EMP';

如果是DBA則可能過ALL_ 和DBA_來查詢所有的表結構。

SQL92的寫法,但是不知道怎么加限制條件,好像用了USING就不可以了。當然可以去掉USING換成 ON

SELECT TABLE_NAME,
       COLUMN_NAME,
       T1.DATA_TYPE || '(' || T1.DATA_LENGTH || ')',
       T2.COMMENTS
  FROM USER_TAB_COLS T1 INNER JOIN USER_COL_COMMENTS T2
  USING(table_name,COLUMN_name);

注意,如果有些字段沒有注釋,是不能顯示的, 這樣改:
SELECT t.table_name,
       t.colUMN_NAME,
       t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',
       t1.COMMENTS
  FROM User_Tab_Cols t, User_Col_Comments t1
 WHERE t.table_name = t1.table_name
    AND t.column_name = t1.column_name(+);
加個外連接就行了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM