CREATE MATERIALIZED VIEW コマンドは、基本表の列のサブセットに対する SPM (sorted, projected, materialized) ビューを作成または置換するときに使用します。これらのタイプのビューはそれぞれ、基本表の列のサブセットを射影し、基本表の列の特定のセットでソートされます。システムはビューを永続的に保存します。このビューは、\dm コマンドを発行することによって、表示できます。
CREATE [OR REPLACE] MATERIALIZED VIEW <viewname> AS SELECT <col>[,<col>…]
FROM <table> [ORDER BY <order_col>[,<order_col>…]];
CREATE MATERIALIZED VIEW コマンドの入力は以下のとおりです。
| 入力 | 説明 |
|---|---|
| OR REPLACE | 既存のマテリアライズ・ビューを置き換えます。ビューの基本表が何らかの方法で変更された後、またはデータベース名を変更した後、ビューをリビルドするためにこのオプションを使用します。 |
| <viewname> | 作成するマテリアライズ・ビューの名前。 |
| <col> | このビューを構成する列。 最大 64 列まで指定できます。 |
| <table> | ビューの作成元の表。 |
| <order_col> | ソートする列。 |
CREATE MATERIALIZED VIEW コマンドの出力は以下のとおりです。
| 出力 | 説明 |
|---|---|
| CREATE MATERIALIZED VIEW | コマンドは正常に実行されました。 |
| ERROR: Relation 'view' already exists. | 指定した名前のビューが既にデータベースに存在しています。 |
admin ユーザー、またはこのマテリアライズ・ビューが定義されたデータベースかスキーマの所有者であるか、あるいはアカウントが Create Materialized View 特権を持っている必要があります。OR REPLACE オプションを指定する場合、そのマテリアライズ・ビューまたは Materialized View オブジェクト・クラスに対する Alter 特権を持っている必要があります。
MYDB.SCH1(USER)=> CREATE MATERIALIZED VIEW kinds AS SELECT t1 FROM
emp ORDER BY name;