Oracle View
VIEW
ビュー作成の利点
- セキュリティの向上
- データの加工
ビュー
- 単一ビュー
- 1つの表から構成される
- 関数を含まない
- グループを含まない
- ビューからの挿入,更新,削除が可能である
- 複数ビュー
- 複数の表から構成される
- 関数を含む
- グループを含む
- 条件付きで,ビューからの挿入,更新,削除が可能
ビューの作成
- CREATE VIEW コマンドを使う
- ビューに対応する副問い合わせを変更する場合には「OR REPLACE」を付加する
- FORCEオプションがあると元表が未定義でもビューを作成できる
- NOFORCEオプションを指定すると元表が未定義の場合にはビューの定義は成功しない
ビューの削除
- DROP VIEWコマンドを使用する
ビューを通した更新
- ビューの新規挿入,更新,削除時の留意点は次のとおり.
- 表の列を選択して作成されたビューに新規挿入する,選択されていない列はNULL(DEFAULT指定がある場合にはその値)がセットされる.
- DISTINCT演算子,GROUP BY句,グループ関数(SUMなど)を使用したビューの更新(INSERT/UPDATE/DELETE)できない.
- WITH CHECK OPTION句が定義されたビューの場合には,WHERE句の条件が真となる更新(INSERT/UPDATE/DELETE)であるかどうかのチェックが行われる,
ビューに対する削除の実行
- ビューの次のいずれかが含まれている場合,ビューから行を削除することはできない.
- グループ関数
- GROUP BY句
- DISTINCT キーワード
- ROWNUM擬似列
- 式によって定義された列
ビューに対する挿入の実行
- ビューに次のいずれかが含まれていなければ,ビューに行を挿入する事ができる
- グループ関数
- GROUP BY 句
- DISTINCT キーワード
- ROWNUM擬似列
- 式によって定義された列
- また,元となる表のNOT NULL 制約付きの列を,すべてビューに定義してある事が挿入で使用できる前提となる.
ビューの挿入/更新/削除の禁止
- ビュー定義にWITH READ ONLYオプションを指定する事で,読み取り専用のビューを作成できる.
- READ ONLYのビューに対して,挿入,更新,削除の操作を実行するとエラーが発生する.
2007年09月02日(日) 16:40:51 Modified by dodobon