ホーム > ORACLE > VIEW

ビュー

ビュー

  • データアクセスの制限
  • データの独立性の確保
  • 複雑な問い合わせの簡略化
  • 同じデータに基づく異なるビューの提供

ビューの作成

CREATE [ OR REPLACE | FORCE | NOFORCE ] VIEW ビュー名
[[ 列名, 列名, ...]]
AS 副問い合わせ
[ WITH CHECK OPTION [ CONSTRAINT 制約名 ]]
[ WITH READ ONLY [ CONSTRAINT 制約名 ]]
  • OR REPLACE:ビューが存在する場合、置き換える
  • FORCE:ビューの基となる表の有無にかかわらず、ビューを作成する
  • NO FORCE:ビューの基となる表が存在する場合、ビューを作成する。(デフォルト)
  • WITH CHECK OPTION:WHERE句の条件を満たす行だけ挿入、更新ができることを評価する。
                CONSTRARINT句を使用して、制約を指定することができる
  • WITH READ ONLY:DML操作できないようにする。CONSTRAINT句を使用して制約を指定することができる

ビューの種類

単一ビュー

  • 基となる問い合わせは1つの表
  • 問い合わせに、関数、計算式を含まない
  • グループ関数,グループ式を含まない
  • ビューを通したDML操作が可能

複合ビュー

  • 基となる問い合わせは1つ以上の表
  • 問い合わせに、関数、計算式を含む
  • グループ関数、グループ処理を含む
  • ビューを通したDML操作が制限される

ビュー操作の制限

DELETEの制限

ビューの基となる問い合わせに以下が含まれる場合、削除操作できない

  • グループ関数
  • GROUP BY 句
  • DISTINCT キーワード
  • ROWNUM 擬似列

UPDATEの制限

ビューの基となる問い合わせに以下が含まれる場合、更新操作できない

  • グループ関数
  • GROUP BY 句
  • DISTINCT キーワード
  • ROWNUM 擬似列
  • 式によって定義された列(定義されてない列は更新可能)

INSERTの制限

ビューの基となる問い合わせに以下が含まれる場合、更新操作できない

  • グループ関数
  • GROUP BY 句
  • DISTINCT キーワード
  • ROWNUM 擬似列
  • 式によって定義された列(定義されてない列は更新可能)
  • NOT NULLが含まれていない

ビューの削除

DROP VIEW ビュー名
このページを共有:
  • このページをはてなブックマークに追加 このページを含むはてなブックマーク
  • このページをlivedoor クリップに追加 このページを含むlivedoor クリップ
  • このページをYahoo!ブックマークに追加
  • このページを@niftyクリップに追加
  • このページをdel.icio.usに追加
  • このページをGoogleブックマークに追加

このページのURL:

TOP