既知の制限事項¶
WHERE
句にサブクエリを使用しているビューは移動できません。インターフェイスビューにクエリを実行する場合、またはインターフェイスビューから派生したビューを作成するか、それにクエリを実行する場合、そのインターフェイスビューのサブビューにはデータ移動を定義できません。ただし、インターフェイスビューのサブビューに定義済みのデータ移動は実行できます。インターフェイスビューから派生したビューでは、そのインターフェイスビューのサブビューにデータ移動を定義できません。インターフェイスは、実装の変更がインターフェイスの「コンシューマー」に影響しないようにする分離レイヤーとして動作するからです。
たとえば、以下のビューがあるとします。
2 つの基本ビュー BV1 と BV2
BV1 と BV2 の結合ビュー J1
J1 を実装とするインターフェイスビュー I1
I1 から作成した選択ビュー P1
P1 の [Execution plan] ダイアログで、データソース internet_ds へのデータ移動を BV2 に定義した場合、P1 にクエリを実行しても、そのデータ移動は実行されません。
J1 の [Execution plan] ダイアログで同じ移動を定義した場合、P1 にクエリを実行すると、そのデータ移動が実行されます。
J1 からビュー P2 を作成すると、BV2 にデータ移動を定義して、そのデータ移動を実行できます。P2 と BV2 の間にはインターフェイスビューが存在しないからです。