• 検索結果がありません。

6. AND 7. OR

4.3 SQL コマンドのアルファベット順のリスト コマンドのアルファベット順のリスト コマンドのアルファベット順のリスト コマンドのアルファベット順のリスト

4.3.21 CREATE VIEW

構文構文構文 構文

図4-31に、CREATE VIEWの構文を示します。

図図図

4-31 CREATE VIEWコマンドコマンドコマンドコマンド

BNF表記法表記法表記法表記法

CREATE [OR REPLACE] [[NO] FORCE] VIEW [schema .] view ["("alias [, alias]...")"] AS subquery ;

前提条件 前提条件前提条件 前提条件

データベースにはSYSTEM、またはDBA/DDL権限を持つユーザーとしてログインする必 要があります。

FORCEでは、ビューの実表または参照オブジェクト型が存在するかどうか、またはビュー

を含むスキーマの所有者がその実表および参照オブジェクト型に対する権限を持っているか どうかにかかわらず、ビューが作成されます。これらの条件が満たされていないと、ビュー

に対しSELECT、INSERT、UPDATEまたはDELETE文は発行できません。

NO FORCEでは、実表が存在し、ビューを含むスキーマの所有者が実表に対する権限を

持っている場合にのみ、ビューが作成されます。これがデフォルトです。

用途 用途用途 用途

ビューを作成または置換します。

表4-26に、CREATE VIEWコマンドの引数をリストします。

表 表表

4-26 CREATE VIEWコマンドで使用される引数コマンドで使用される引数コマンドで使用される引数コマンドで使用される引数 引数引数引数

引数 説明説明説明説明

OR REPLACE ビューがすでに存在する場合、再作成します。すでに付与されて

いるオブジェクト権限を変更(削除、再作成または再付与)せず に、既存のビューの定義を変更するために使用します。

SQLコマンドのアルファベット順のリスト

使用上の注意 使用上の注意使用上の注意 使用上の注意

次の場合、ビューは更新可能です。

subqueryは、単一の実表からまたは別の更新可能なビューから選択します。

選択された式のそれぞれが、その実表または更新可能なビューの列への参照となりま す。

選択リスト内の2つ以上の列参照が同じ列を参照することはありません。

CREATE ANY VIEWを使用して別のスキーマにビューを作成できますが、DBA/DDLロー

ルが必要です。

CREATE VIEWのFORCEオプションは、Oracle Database Liteでは動作が異なります。こ

れには、2つのケースがあります。

1. CREATE FORCE VIEWを使用して実表なしで作成されたビューにコマンドを発行する

場合、最初にALTER VIEW view_name COMPILEコマンドを発行する必要があります。

発行されていないとエラー・メッセージが発生します。

FORCE ビューの実表または参照オブジェクト型が存在するか、または

ビューを含むスキーマの所有者がその実表および参照オブジェク ト型に対する権限を持っているかにかかわらずビューを作成する

場合は、FORCEを指定します。これらの条件が満たされていない

と、ビューに対しSELECT、INSERT、UPDATEまたはDELETE 文は発行できません。

NO FORCE 実表が存在し、ビューを含むスキーマの所有者が実表に対する権

限を持っているときにのみビューを作成する場合は、NO FORCE を指定します。これがデフォルトのオプションです。

schema ビューを含むスキーマ。schemaを省略すると、Oracle Liteはユー

ザー自身のスキーマ内でビューを作成します。

view ビューの名前。

alias ビューの問合せに選択された式の名前を指定します。別名の数は、

ビューで選択された式の数と一致する必要があります。別名は、

スキーマ・オブジェクトに名前を付ける際のOracle Liteの規則に 従う必要があります。それぞれのaliasはビューの中で他と重複し ないようにする必要があります。

AS subquery ビューが基盤とする表の列および行を識別します。ビューの問合

せは、ORDER BYまたはFOR UPDATE句のないSELECT文はど れでも可能です。選択リストには、最大254個の式を入れられま す。

表 表表

4-26 CREATE VIEWコマンドで使用される引数(続き)コマンドで使用される引数(続き)コマンドで使用される引数(続き)コマンドで使用される引数(続き)

引数 引数引数

引数 説明説明説明説明

SQLコマンドのアルファベット順のリスト

SQLコマンド 4-65 2. 有効な実表を使用して作成されたCREATE FORCE VIEWとCREATE VIEWでは、相違

点はありません。

例例例 例

次の例は、EMP表内の各行の名前、仕事および給与を表示するEMP_SALという名前の ビューを作成します。

CREATE VIEW EMP_SAL (Name, Job, Salary) AS SELECT ENAME, JOB, SAL FROM EMP;

SELECT * FROM EMP_SAL;

次の結果を返します。

NAME JOB SALARY - ---KING PRESIDENT 5000 BLAKE MANAGER 2850 CLARK MANAGER 2450 JONES MANAGER 2975 MARTIN SALESMAN 1250 ALLEN SALESMAN 1600 TURNER SALESMAN 1500 JAMES CLERK 950 WARD SALESMAN 1250 FORD ANALYST 3000 SMITH CLERK 800 SCOTT ANALYST 3000 ADAMS CLERK 1100 MILLER CLERK 1300 14 rows selected.

ODBC 2.0

CREATE VIEWのODBC SQL構文はOR REPLACE引数をサポートしませんが、ODBCは

このコマンドをそのままデータベースに渡します。

ビューでのデータ編集 ビューでのデータ編集ビューでのデータ編集 ビューでのデータ編集

ODBCベースのツールは、そのほとんどがビューの更新を許可する前に主キーを必要としま

す。Oracle Liteは、ビューの主キーを記録しないため、WHERE句を使用して1つまたは複

数のターゲット行を指定し、ビューの更新や削除を実行するSQLコマンドを発行する必要 があります。

関連項目 関連項目関連項目 関連項目

DROP SEQUENCE、CREATE TABLE、DROP VIEW

SQLコマンドのアルファベット順のリスト

ドキュメント内 Oracle Database Lite SQLリファレンス, 10g(10.0.0) (ページ 175-178)