回答編集履歴

1

追記

2018/08/30 22:33

投稿

Orlofsky
Orlofsky

スコア16415

test CHANGED
@@ -7,3 +7,63 @@
7
7
  カラムのコメントは [USER_COL_COMMENTS](https://docs.oracle.com/cd/E57425_01/121/REFRN/GUID-AE32625E-E063-4EA7-80D6-DC5729FE7EE6.htm) を参照します。
8
8
 
9
9
  コメントを列の別名とするときはダブルクォートで囲みましょう。
10
+
11
+
12
+
13
+ 追記
14
+
15
+ データベースはOracleを前提として、
16
+
17
+ [通貨コード](https://qiita.com/Papageno/items/7c40c5c084aeda2d9f8c) のテーブル定義を利用。
18
+
19
+
20
+
21
+ Excelで1行目にコメントを使いたいものと想定。sqlplus から
22
+
23
+ --テーブル名は置換変数で
24
+
25
+ DEFINE tbl=CURRENCIES
26
+
27
+
28
+
29
+ SET HEADING OFF
30
+
31
+ SET PAGESIZE 0
32
+
33
+ SELECT DISTINCT
34
+
35
+ 'COLUMN ' || TC.COLUMN_NAME || ' HEADING "' || CM.COMMENTS || '"' AS "COLUMN"
36
+
37
+ FROM USER_TABLES TA
38
+
39
+ INNER JOIN USER_TAB_COLUMNS TC
40
+
41
+ ON TC.TABLE_NAME = TA.TABLE_NAME
42
+
43
+ INNER JOIN USER_TAB_COLUMNS TC
44
+
45
+ ON TC.TABLE_NAME = TA.TABLE_NAME
46
+
47
+ LEFT OUTER JOIN USER_COL_COMMENTS CM
48
+
49
+ ON CM.TABLE_NAME = TC.TABLE_NAME
50
+
51
+ AND CM.COLUMN_NAME = TC.COLUMN_NAME
52
+
53
+ WHERE
54
+
55
+ TA.DROPPED = 'NO' -- except trash box, since oracle10.1.0
56
+
57
+ AND TA.TABLE_NAME = '&&tbl'
58
+
59
+ ;
60
+
61
+ -- の結果をリダイレクト(sqlplusで再実行)
62
+
63
+ SET COLSEP ','
64
+
65
+ SPOOL &&tbl..csv
66
+
67
+ SELECT * FROM &&tbl ;
68
+
69
+ SPOOL OFF