ビューを作成します。
構文
CREATE [ OR REPLACE ] VIEW name [ ( column_name [, ...] ) ]
AS query
説明
CREATE VIEW
コマンドを使用してクエリのビューを定義します。 ビューは物理的には具体化されていません。 その代わり、クエリでビューが参照されるたびにクエリが実行されます。
CREATE OR REPLACE VIEW
は似ていますが、同じ名前のビューがすでに存在する場合は、名前が置き換えられます。
スキーマ名が指定されている場合 (たとえば、CREATE VIEW myschema.myview...
)、ビューは指定したスキーマに作成されます。 指定がない場合は、現在のスキーマに作成されます。 ビュー名は、同じスキーマ内の他のビュー、テーブル、シーケンス、またはインデックスの名前とは異なる必要があります。
パラメーター
パラメーター | 説明 |
---|---|
name | 作成するビューの名前。 名前はスキーマで修飾できます。 |
column_name | ビュー内の列名オプションリスト。 指定しない場合、列名はクエリから推定されます。 |
query | ビューの列と行を提供するクエリ (SELECT 文)。 |
注 有効なクエリの詳細については、
SELECT
ページをご参照ください。
注記
ビューは読み取り専用です。 ビューでは挿入、更新、または削除操作はできません。 ビューでの挿入操作を他のテーブルに対する適切な操作に変換するルールを作成すると、更新可能なビューと同等の操作ができるようになります。
ビューで参照されるテーブルにアクセスするためには、ビューの所有者権限が必要です。 ただし、ビューで呼び出される関数は、ビューを使用してクエリから呼び出される関数と同じように扱われます。 したがって、ビューのユーザーは、ビューで使用されるすべての関数を呼び出すことができる権限を所持している必要があります。
例
部門 30 の全従業員で構成されるビューを作成します。
CREATE VIEW dept_30 AS SELECT * FROM emp WHERE deptno = 30;