以下のxmlはビュー定義のコピー方法を示したものです。
<views> <view selection="included"> <name>deptsals</name> <database>MyDb</database> </view> </views>
selectionを"included"に設定し、viewの名前、およびソース システム上に格納された、ビューが常駐するdatabaseを使用して、ビュー定義deptsalsをソース システムからターゲット システムにコピーしています。
次の制限が適用されます。
- コピーするオブジェクトがターゲット データベースに存在しない場合は、ターゲット データベース上に作成されます。オブジェクトがターゲット データベースに存在する場合は、overwrite_existing_objectsプロパティがfalseに設定されていないとオブジェクトは上書きされます。 その場合、作成タイムエラーが生成されます。
- ビューは再配置も名前変更もできません。
- ビュー定義内のテーブル名が完全修飾名でない場合、テーブルは、エラーが発生しないようにソース ビュー データベースと同じ名前のデータベース内に存在している必要があります。
例えば、次のビュー定義には、非完全修飾のビュー名とテーブル名が含まれています。
CREATE VIEW deptsals AS SELECT department_number AS department FROM employee HAVING salary_amount < 36000;
- ビューを作成するテーブルがターゲットに存在しないか、ジョブの一部として移動されていない場合、ターゲット システムにビュー定義を作成しようとするとエラーが発生します。
- 参照テーブルを名前変更または再配置しようとすると、ターゲット システム上でビュー定義を作成する時にエラーが発生します。