ビューからアクセスされるテーブルの行を削除するには、次の条件を参照してください。
- そのビューに対して、DELETE権限を持っていなければなりません。さらに、そのビューの直接所有者(すなわち、そのビューのあるデータベース)は、行が削除される基礎となるオブジェクト(ビューまたは基本テーブル)に対するDELETE権限を持っていなければならず、WHERE句に指定されたすべてのテーブルに対してSELECT権限を持っていなければなりません。
- ビューの各列は、基礎となるテーブル内の列と対応していなければなりません。つまり、ビュー内の列を式を使用して派生させることはできません。
- インデックス列のデータ型定義は、ビューが参照するビュー定義および基本テーブルで一致しなければなりません。
一般にはビュー列の型を変換できますが(例えば、VARCHARからCHARACTERへ)変換された列がインデックスの構成要素である場合は、再キャストされた列のデータ型がそのインデックスの列のデータ型定義とは一致しないため、そのインデックスは基本テーブルから行を削除するために使用されません。
削除の結果として生じるAMP、行の性質はすべて、インデックスがデザインされたパフォーマンス上の優位性を回避します。
- 2つのビュー列が、同じテーブルの列を参照することはできません。
- ビューには、範囲制約のある列を含めることはできません。
- ビューを定義するために使用される式は、ビュー内のどの列に対してもデータ型を指定することはできません。