次の方法で共有


ConditionAction の SqlExpression 要素 (ADF)

入力データとサブスクリプション データから通知を生成するために使用する Transact-SQL クエリを指定します。

構文

<ConditionAction>
    ...
    <SqlExpression>

要素の特性

特性 説明

データ型

string。長さは 1 ~ 100,000 文字の範囲です。

既定値

なし。

個数

ConditionAction 要素につき 1 個 (必須)。

更新

この要素は、アプリケーションの更新時に変更できます。ただし、追加と削除はできません。親の ConditionAction 要素の追加と削除は可能です。

要素の関係

関係 要素

親要素

ConditionAction 要素 (ADF)

子要素

なし。

解説

SqlExpression 要素には、通知を生成するための中心的なクエリが含まれます。このクエリは、サブスクリプション フィールドと入力フィールドを選択し、それらを通知テーブルに追加します。

このクエリでは、サブスクリプション データと入力データを結合するビューからサブスクリプション フィールドと入力フィールドを選択する必要があります。ビューのサブスクリプション フィールドには、[Subscription.SubscriptionFieldName] という形式の名前が付いています。入力 (イベント) フィールドの名前の形式は、[Input.EventFieldName] です。

サブスクライバは、サブスクリプション管理インターフェイスを通じて、クエリの WHERE 句に相当する要素をサブスクリプションで作成します。Notification Services は、関連するすべてのサブスクリプションの条件アクションを評価し、通知を生成します。

条件アクションの詳細、および Transact-SQL 式のテンプレートについては、「条件アクションの定義」を参照してください。

使用例

次の例は、条件アクションを定義する方法を示しています。Transact-SQL 式のクエリは、MyAppSchema.WeatherEventRule ビューのデータを選択します。このビューは、サブスクリプション クラスのデータと MyAppSchema.WeatherEvents イベント ビューのデータを含みます。

<ConditionAction>
    <SqlLogin>[MyLowPrivLogin]</SqlLogin>
    <SqlUser>[MyLowPrivUser]</SqlUser>
    <InputName>WeatherEvents</InputName>
    <InputSchema>MyAppSchema</InputSchema>
    <SqlExpression>
        INSERT INTO MyAppSchema.WeatherNotifications(SubscriberId, 
        DeviceName, SubscriberLocale, City, Forecast) 
        SELECT [Subscription.SubscriberId], [Subscription.DeviceName], 
            [Subscription.SubscriberLocale], [Input.City], 
            [Input.Forecast])
        FROM MyAppSchema.WeatherEventRule;
    </SqlExpression>
</ConditionAction>

参照

関連項目

アプリケーション定義ファイルのリファレンス

概念

インスタンス構成ファイルのリファレンス

その他の技術情報

INSERT (Transact-SQL)
SELECT (Transact-SQL)
条件アクションの定義
サブスクリプション ルールの定義

ヘルプおよび情報

SQL Server 2005 の参考資料の入手