テーブルの列(COLUMN)の情報を参照するには、
TAB_COLUMNSデータディクショナリビューを参照します。
TAB_COLUMNSデータディクショナリの種類
TAB_COLUMNSデータディクショナリビューには以下3種類があります。
| DBA_TAB_COLUMNS | 全てのカラム情報を対象とする ※権限が必要 |
|---|---|
| ALL_TAB_COLUMNS | ログインユーザが参照可能なカラムを対象とする |
| USER_TAB_COLUMNS | ログインユーザが保持するカラムを対象とする |
TAB_COLUMNSデータディクショナリの定義
TAB_COLUMNSデータディクショナリの定義です。
(DBA/ALL/USERの違いは、OWNER列のありなしのみです。)
| 列名 | 型 | メモ |
|---|---|---|
| OWNER | VARCHAR2(128) | 所有者 |
| TABLE_NAME | VARCHAR2(128) | テーブル名 |
| COLUMN_NAME | VARCHAR2(128) | 列名 |
| DATA_TYPE | VARCHAR2(128) | 列のデータ型 |
| DATA_TYPE_MOD | VARCHAR2(3) | |
| DATA_TYPE_OWNER | VARCHAR2(128) | |
| DATA_LENGTH | NUMBER | 列のサイズ |
| DATA_PRECISION | NUMBER | NUMBER型の場合は10進数精度、FLOAT型の場合は2進精度、それ以外の型の場合はNULL |
| DATA_SCALE | NUMBER | 小数点以下の桁数 |
| NULLABLE | VARCHAR2(1) | Y:NULL許可 N:NULL不許可 |
| COLUMN_ID | NUMBER | |
| DEFAULT_LENGTH | NUMBER | |
| DATA_DEFAULT | LONG | |
| NUM_DISTINCT | NUMBER | |
| LOW_VALUE | RAW(1000) | |
| HIGH_VALUE | RAW(1000) | |
| DENSITY | NUMBER | |
| NUM_NULLS | NUMBER | |
| NUM_BUCKETS | NUMBER | |
| LAST_ANALYZED | DATE | |
| SAMPLE_SIZE | NUMBER | |
| CHARACTER_SET_NAME | VARCHAR2(44) | |
| CHAR_COL_DECL_LENGTH | NUMBER | |
| GLOBAL_STATS | VARCHAR2(3) | |
| USER_STATS | VARCHAR2(3) | |
| AVG_COL_LEN | NUMBER | |
| CHAR_LENGTH | NUMBER | |
| CHAR_USED | VARCHAR2(1) | |
| V80_FMT_IMAGE | VARCHAR2(3) | |
| DATA_UPGRADED | VARCHAR2(3) | |
| HISTOGRAM | VARCHAR2(15) |
サンプル
TAB_COLUMNSデータディクショナリビューを検索するサンプルです。
|
1 2 3 |
SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'M_USER'; |
メモ
- テーブル名、列名は大文字で指定してください。
- USER_TAB_COLUMNSは、「COLS」シノニムでもアクセス可能です。
(例)SELECT * FROM COLS;