1. 程式人生 > >Oracle自動生成資料字典的SQL語句

Oracle自動生成資料字典的SQL語句

讀取Oracle表字段名字,型別(含長度),註釋等資訊的SQL語句:

select col.COLUMN_NAME, com.Comments, col.DATA_TYPE, col.DATA_LENGTH
from sys.all_tab_columns col,
     sys.all_col_comments com
where col.owner = '使用者名稱'
and col.table_name = '表名'
and com.Owner (+) = '使用者名稱'
and com.Table_Name (+) = '表名'
and com.Column_Name (+) = col.Column_Name
order by col.column_id

如果你想自動生成資料字典,可以先用以下語句獲得所有表名,再迴圈執行上面的語句,就可以生成資料字典了:

SELECT A.*,B.comments
FROM all_tab_columns A,DBA_COL_COMMENTS B
WHERE A.owner=B.owner
AND A.table_name=B.table_name
AND A.COLUMN_NAME=B.COLUMN_NAME
AND A.owner='使用者名稱';

也可以一次過讀出該使用者所有表的欄位資訊:

SELECT A.table_name,A.COLUMN_NAME,A.DATA_TYPE,
a.DATA_LENGTH,a.DATA_PRECISION,
a.DATA_SCALE,a.NULLABLE,a.DATA_DEFAULT,B.comments
FROM all_tab_columns A,DBA_COL_COMMENTS B
WHERE A.owner=B.owner
AND A.table_name=B.table_name
AND A.COLUMN_NAME=B.COLUMN_NAME
AND A.owner='使用者名稱'
ORDER BY A.table_name;