データベースおよびユーザー管理におけるいくつかの状態では、 グループまたはユーザーが参照できる行を制限するために、 「個々のユーザーがもつ行のサブセット」フィールドの 複合 SQL WHERE 文節の定義を呼び出します。 フィルターを定義する際は、ミラー・データベース内の表を参照する場合や、グループまたはユーザー用のパラメーターを使用 する場合や、あるいはこれらの方法を組み合わせて使用する場合があります。 単純水平フィルターを作成するための基本ステップについては、サブスクリプション・レベルでのデータのフィルター操作を参照してください。
DB2 Everyplace 同期サーバーは、フィルターと共に使用する、SQL WHERE の標準インプリメンテーションのサブセットを提供します。 サブセットの構文については、フィルターの構文を参照してください。
次の例は、ミラー・データベース内の他の表を参照する方法と、水平フィルター操作のためのパラメーターの使用方法を 示しています。
Ziptab および Business という名前の 2 つの表を管理していて、この両方がミラー・データベースに入っているとします。 Ziptab には特定の市の ZIP コードが入っており (表 208)、Business には企業情報と その企業の ZIP コードが入っています (表 209)。 カリフォルニア州サンホセ (San Jose, California) のユーザーには、その市の企業のみを見せたいとします。 グループを作成しておき、これらのユーザーをそのグループに割り当てておきます。
City | Zipcode |
---|---|
San Jose | 95141 |
San Jose | 95123 |
Los Angeles | 93002 |
Business | Zip |
---|---|
IBM | 95141 |
My Company | 95123 |
Your Company | 93002 |
Another Company | 94888 |
「行」ページの「個々のユーザーがもつ行のサブセット」フィールドに、 次の文節を入力します。
(Zip) IN (SELECT Zipcode FROM Ziptab WHERE City = ':fcity')
:fcity は、City 列の値のためのパラメーターです。グループに対して、 この値を San Jose にセットします。
そして、「サブスクリプションの作成 (Create Subscriptions)」ノートブックを完了し、クローズします。
その結果、同期の後は、デバイス上の「Business」表に表示される行は、次のものだけになります。
Business | Zip |
---|---|
IBM | 95141 |
My Company | 95123 |
関連したタスク
関連した解説