1

このスクリプトは、Oracleの列とコメントを含むテーブルをダンプします(私が行うこと:外部ツールに依存せずにスキーマDDLを人間が読める形式でダンプします。sqlplusこのスクリプトをSVNにコミットして、チームメンバーが使用できるようにします):

SELECT dt.table_name、dt.column_name、dt.data_type、dt.data_length、comm.comments
  FROM user_col_comments comm、user_tab_columns dt
  WHERE dt.table_name = comm.table_name
    AND dt.column_name = comm.column_name
  注文者dt.table_name;

出力は次のようになります。

TBL111COL11..。
TBL111COL22..。
TBL222COL11..。
TBL222COL22..。
TBL222COL33..。
TBL333COL11..。

読みやすくするために、不要なTBLxxx単語をスキップする方法を探しています。

TBL111COL11..。
       COL22..。
TBL222COL11..。
       COL22..。
       COL33..。
TBL333COL11..。

なにか提案を?

4

2 に答える 2

4

SQL * Plusを使用してレポートを生成する場合BREAK ON columnname、クエリ結果の重複を抑制するために使用できます。

于 2013-02-21T09:14:06.527 に答える
1
SELECT case 
         when row_number() over (partition by dt.table_name order by dt.table_name) = 1 then dt.table_name
         else null
       end as table_name, 
       dt.column_name, 
       dt.data_type, 
       dt.data_length, 
       comm.comments
FROM user_col_comments comm, user_tab_columns dt
WHERE dt.table_name = comm.table_name
  AND dt.column_name = comm.column_name
ORDER BY dt.table_name, dt.column_id;
于 2013-02-21T09:13:50.313 に答える