ヘッダーをスキップ

Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド リリース6.0 B25770-01 |
| 目次 | 索引

前へ | 次へ |

## CREATE VIEW

CREATE VIEW文は、SelectQuery句で指定された表に対するビューを作成します。ビューを作成するために使用された元の表は、ディテール表と呼ばれます。結果表は、ビューと呼ばれます。

アクセス制御

TimesTenインスタンスでアクセス制御が有効な場合、この文にはDDL権限が必要です。

SQL構文
CREATE VIEW ViewName AS SelectQuery
パラメータ

CREATE VIEW文には、次のパラメータがあります。

ViewName | 新しいビューに割り当てる名前を指定します。
SelectQuery | ビューで使用される、ディテール表の列を選択します。ビューに対して索引を作成することも可能です。

説明

### VIEW問合せの制限

ビューの定義に使用される問合せには、いくつかの制限があります。

- ビュー定義のSELECT *問合せは、ビューの作成時に実行されます。ビューの作成後に追加された列は、ビューには反映されません。
- 次の句はビュー作成のSELECT文で使用できません。

- DISTINCT
- FIRST
- ORDER BY
- UNION
- UNION ALL
- 引数
- 一時表

- SELECT構文のリストの各式には、一意の名前が必要です。列の別名が定義されていないかぎり、単純にその列の名前が使用されます。ROWIDは式とみなされるため、別名が必要です。
- SELECT FOR UPDATEまたはSELECT FOR INSERT文は、ビューでは使用できません。
- 特定のTimesTen問合せの制限は、非マテリアライズド・ビューの作成時にチェックされません。これらの制限に違反するビューを作成できることがありますが、後で実行された文でビューが参照されるときにエラーが返されます。

### VIEWの制限

- ビューがSELECT文のFROM句で参照される場合、その名前は解析時に導出表と同じ定義に置き換えられます。導出表を使用しなくても適切な問合せになるように、元のSELECT文の同じ句にビューのすべての句をマージすることができない場合、導出表の内容がマテリアライズされます。たとえば、ビューと参照元のSELECTで集計が指定されている場合は、その結果が選択の他の表に結合される前に、ビューがマテリアライズされます。
- ビューの削除にDROP TABLE文を使用することはできません。DROP VIEW文を使用する必要があります。
- ビューの変更にALTER TABLE文を使用することはできません。
- ビューの参照は、ディテール表が削除または変更されていることが原因で失敗することがあります。

##### 例13.55

表t1から（非マテリアライズド）ビューを作成します。

    CREATE VIEW v1 AS SELECT * FROM t1;

##### 例13.56

表t1の集計問合せから（非マテリアライズド）ビューを作成します。

    CREATE VIEW v1 (max1) AS SELECT max(x1) FROM t1;

関連項目

CREATE MATERIALIZED VIEW
CREATE TABLE
DROP VIEW