CREATE MATERIALIZED VIEW LOG文は、表に対する変更が記録されるログを作成します。 このログは、増分リフレッシュされる非同期マテリアライズド・ビューに必要です。 ログはマテリアライズド・ビューの作成前に作成する必要があります。 ログは、MVLOG$_IDと呼ばれるユーザーのスキーマ内の表です。ここで、IDは、システムによって生成されたIDです。
必要な権限
ディテール表に対するSELECTおよび
CREATE TABLEまたはCREATE ANY TABLE(非所有者の場合)
SQL構文
CREATE MATERIALIZED VIEW LOG ON tableName [WITH [PRIMARY KEY][,ROWID]|[ROWID][,PRIMARY KEY] [(columnName[,...])]]
パラメータ
| パラメータ | 説明 |
|---|---|
tableName |
マテリアライズド・ビューのディテール表の名前 |
[(columnName[,...]) |
変更がログに記録される列のリスト。 |
説明
変更をマテリアライズド・ビュー・ログに記録するキーおよび列を指定するには、WITH句を使用します。
主キー列の変更を記録するには、PRIMARY KEYオプションを指定します。 このオプションは、WITH句を省略するか、またはROWIDを指定しない場合のデフォルトです。
変更されたすべての行のROWIDを記録するには、ROWIDオプションを指定します。 ROWIDオプションは、表に主キーが含まれていない場合、またはマテリアライズド・ビューの作成時に主キーを使用しない場合に有用です。
PRIMARY KEYとROWIDのいずれも指定できます。 マテリアライズド・ビュー・ログは、指定された表をディテール表として使用する複数の非同期マテリアライズド・ビューで使用される場合があります。
表が、高速リフレッシュを使用する複数のマテリアライズド・ビューのディテール表である場合でも、表に対して作成されるマテリアライズド・ビュー・ログは1つのみです。 高速リフレッシュを使用する複数の非同期マテリアライズド・ビューで使用されるすべての列を含める必要があります。
マテリアライズド・ビュー・ログは、表としてマテリアライズド・ビューを使用して作成したり、キャッシュ・グループ内の表に対して作成することはできません。
マテリアライズド・ビュー・ログを変更して列を追加または削除することはできません。
マテリアライズド・ビュー・ログに対して指定できるのは、1つのPRIMARY KEY句、1つのROWID句および1つの列リストのみです。
PRIMARY KEYオプションを指定した場合、列リストに主キー列を含めることはできません。
例
employees表にマテリアライズド・ビュー・ログを作成します。 ログにemployee_id(主キー)およびemailを含めます。
CREATE MATERIALIZED VIEW LOG ON employees WITH PRIMARY KEY (email);
関連項目