它可能最簡單的辦法直接對Oracle數據字典表本身運行的命令,而不是試圖解析包含創建語句SQL文件。
例如,爲了獲得在模式X中的所有表,你可以這樣做:
SELECT table_name FROM all_tables WHERE owner = 'X'
爲了讓所有的列表「T」所有者「U」,你可以這樣做:
SELECT column_name FROM all_tab_columns WHERE table_name = 'T' AND owner = 'U'
完整的例子
這裏有一個完整的例子,它會讓你獲得所有表併爲其所有屬於「所有者」的表格添加列。它可以用一個單獨的SQL語句來完成:
SELECT t.table_name
, c.column_name
FROM all_tables t
, all_tab_columns c
WHERE t.TABLE_NAME = c.TABLE_NAME
AND t.OWNER = c.OWNER
AND t.OWNER = 'owner'
ORDER BY t.TABLE_NAME
, c.COLUMN_NAME
至於獲取數據到Word文檔,我剛剛開始獲取數據到文本文件的第一,那麼你可以使用其他手段來得到它如有必要,可將其轉換爲Word要將其轉換爲文本文件,只需在sql*plus
中運行上述命令,並在運行SQL語句之前將其緩存到文本文件(即在sql*plus
中發出spool file.txt
命令)。然後你的輸出將被寫入一個文件。
來源
2010-07-21 19:17:16
dcp
你在用什麼設計ER?許多(大多數?)的ERD工具將爲您生成此輸出。當然,如果你用筆和紙做你的設計,那麼你的運氣不好。 – 2010-07-21 20:24:05
你想在這些報告中提供什麼信息?什麼風格的佈局? – APC 2010-07-21 23:40:42
我正在使用Rational Application Developer來完成我的ERD設計。它能夠開發ERD並生成DDL和Java代碼,但它沒有任何報告工具。 理想情況下,我希望能夠生成包含數據庫設計中每個表的列信息的報告。 – Steve 2010-07-22 17:04:20