ALL_VIEWS, DBA_VIEWS, USER_VIEWS ビューのデータディクショナリビュー

ALL_VIEWS, DBA_VIEWS, USER_VIEWSはOracleのビューに関する情報を格納しているデータディクショナリビューです。この記事では、構造や格納されている情報についてご紹介します。

ALL_VIEWS

ALL_VIEWSは、現在のユーザがアクセスできるビューを示すデータディクショナリビューである。

ALL_VIEWSの構造
説明
OWNER ビューの所有者
VIEW_NAME ビューの名前
TEXT_LENGTH ビューテキストの長さ
TEXT ビューテキスト
TYPE_TEXT_LENGTH 特定の型のビューのタイプの長さ
TYPE_TEXT 特定の型のビューのタイプ
OID_TEXT_LENGTH 特定の型のビューのWITH OID句の長さ
OID_TEXT 特定の型のビューのWITH OID句
VIEW_TYPE_OWNER ビューの型の所有者(特定の型のビューの場合)
VIEW_TYPE ビューの型(特定の型のビューの場合)
SUPERVIEW_NAME スーパービューの名前
READ_ONLY ビューが読み取り専用かどうか(Y/N)

OWNER

OWNER列にはビューの所有者が格納されている。所有者とは、すなわちスキーマである。

SELECT * FROM DBA_VIEWS WHERE OWNER = 'MARINA'

VIEW_NAME

VIEW_NAME列にはビューの名前が格納されている。

SELECT * FROM USER_VIEWS WHERE VIEW_NAME = 'EXAMPLE'

TEXT

TEXT列にはビューを定義する問合せが格納されている。

SELECT TEXT FROM ALL_VIEWS WHERE VIEW_NAME = 'EXAMPLE'

TEXT列のデータ型はLONGであるため、SELECT文のWHERE句の条件に指定できない。したがって、次のSQLはエラーになる。

SELECT * FROM DBA_VIEWS WHERE TEXT LIKE '%DBLINK%'

DBA_VIEWS

DBA_VIEWSは、データベース内のすべてのビューを示すデータディクショナリビューである。

DBA_VIEWSの構造は、ALL_VIEWSと同じである。

USER_VIEWS

USER_VIEWSは、現在のユーザが所有するビューを示す。データディクショナリビューである。

USER_VIEWSの構造は、OWNER列が無いことを除き、ALL_VIEWSやDBA_VIEWSと同じである。

データ・ディクショナリ・ビュー

オラクル・データベースのデータ・ディクショナリ・ビューには次のものがある。