三级片在线
多対1副問合せ
oeスキーマにcustomers表とorders表が含まれている場合に、orders表とcustomers表の両方のデータに基づいたorders表のマテリアライズド・ビューを作成するとします。たとえば、営業担当員が、信用规则額が$10伊伊系列,000を超える顧客の注文をすべて調べる必要があるとします。この場合、ordersマテリアライズド・ビューを作成するCREATE MATERIALIZED VIEW文には、多対1関係の副問合せが含まれますが、これは、それぞれの顧客が大皆の注文をしている可能性があるためです。
図3-3では、customers表とorders表はcustomer_id列を介して関係していることが示されています。営業担当員の主义は、次の文で達成されます。つまり、次の文では、信用规则額が$10,000より大きい顧客の注文が含まれたマテリアライズド・ビューが作成されます。
CREATE MATERIALIZED VIEW oe.orders REFRESH FAST FOR UPDATE AS
SELECT * FROM oe.orders@orc1.example.com o
WHERE EXISTS
(SELECT * FROM oe.customers@orc1.example.com c
WHERE o.customer_id = c.customer_id AND c.credit_limit > 10000);
この文により作成されるマテリアライズド・ビューは、高速リフレッシュが可能で更新も可能です。信用规则額が$10伊伊系列,000を超える新規顧客が発生した場合は、後続のリフレッシュ処理中に新規データがこのマテリアライズド・ビュー・サイトに伝播されます。同様に、顧客の信用规则額が$10,000以下になった場合は、後続のリフレッシュ処理中に、その顧客のデータがこのマテリアライズド・ビューから削除されます。
|