create ステートメントを含む SQL ファイルを解析しようとするよりも、Oracle データ ディクショナリ テーブル自体に対してコマンドを直接実行する方がおそらく最も簡単です。
たとえば、スキーマ 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 ステートメントを実行する前にsql*plus
テキスト ファイルにスプールします (つまり、 でspool file.txt
コマンドを発行します)。sql*plus
次に、出力がファイルに書き込まれます。