テーブル列のコメントの情報を参照するには、
COL_COMMENTSデータディクショナリビューを参照します。
COL_COMMENTSデータディクショナリの種類
COL_COMMENTSデータディクショナリビューには以下3種類があります。
【COL_COMMENTSデータディクショナリビューの種類】
DBA_COL_COMMENTS | 全てのCOL_COMMENTS情報を対象とする ※権限が必要 |
ALL_COL_COMMENTS | ログインユーザが参照可能なCOL_COMMENTSを対象とする |
USER_COL_COMMENTS | ログインユーザが保持するCOL_COMMENTSを対象とする |
COL_COMMENTSデータディクショナリの定義
COL_COMMENTSデータディクショナリの定義です。
※DBA/ALL/USERの違いは、OWNER列のありなしのみです。
【COL_COMMENTSデータディクショナリ】
列名 | 型 | メモ |
OWNER | VARCHAR2(128) | 所有者 ※DBA/ALLのみ |
TABLE_NAME | VARCHAR2(128) | テーブル名 |
COLUMN_NAME | VARCHAR2(128) | カラム名(列名) |
COMMENTS | VARCHAR2(4000) | コメント |
サンプル
COL_COMMENTSデータディクショナリビューを検索するサンプルです。
例)TARO.M_SYAINテーブルのコメント一覧を取得する
|
SELECT * FROM ALL_COL_COMMENTS WHERE OWNER = 'TARO' AND TABLE_NAME = 'M_SYAIN'; |
例)M_SYAINテーブルの定義とコメントを取得する
|
SELECT a.column_id ,a.column_name ,a.data_type ,CASE WHEN data_precision IS NULL AND data_scale IS NULL THEN TO_CHAR(char_col_decl_length) WHEN data_precision IS NOT NULLl AND data_scale IS NOT NULL THEN TO_CHAR(data_precision) || ',' || TO_CHAR(data_scale) ELSE null END "size" ,b.comments FROM user_tab_columns a LEFT OUTER JOIN user_col_comments b ON a.table_name = b.table_name AND a.column_name = b.column_name WHERE a.table_name = 'M_SYAIN' |
【結果】
column_id column_name data_type size comments
--------------------------------------------------------------------------------
1 SYAIN_ID CHAR 3 社員ID
2 SYAIN_NM VARCHAR2 50 社員名
3 AGE NUMBER 3,0 年齢
4 NYUSYA_DATE TIMESTAMP 入社日
メモ
- TABLE_NAME、COLUMN_NAMEは大文字で指定してください。
- コメントを付けたい場合は、「COMMENT ON ~」文を使用します。
詳しくはこちらをご覧ください。→「テーブル、カラムにコメントを付ける」
ORACLE機能 データディクショナリ
[データディクショナリ] テーブル列のコメントの情報を取得する
投稿日:2017年3月19日 更新日:
テーブル列のコメントの情報を参照するには、
COL_COMMENTSデータディクショナリビューを参照します。
COL_COMMENTSデータディクショナリの種類
COL_COMMENTSデータディクショナリビューには以下3種類があります。
COL_COMMENTSデータディクショナリの定義
COL_COMMENTSデータディクショナリの定義です。
※DBA/ALL/USERの違いは、OWNER列のありなしのみです。
サンプル
COL_COMMENTSデータディクショナリビューを検索するサンプルです。
例)TARO.M_SYAINテーブルのコメント一覧を取得する
例)M_SYAINテーブルの定義とコメントを取得する
メモ
-ORACLE機能, データディクショナリ
-コメント, テーブル
執筆者:とら