ConditionAction の SqlExpression 要素 (ADF)
入力データとサブスクリプション データから通知を生成するために使用する Transact-SQL クエリを指定します。
構文
<ConditionAction>
...
<SqlExpression>
要素の特性
特性 | 説明 |
---|---|
データ型 |
string。長さは 1 ~ 100,000 文字の範囲です。 |
既定値 |
なし。 |
個数 |
ConditionAction 要素につき 1 個 (必須)。 |
更新 |
この要素は、アプリケーションの更新時に変更できます。ただし、追加と削除はできません。親の ConditionAction 要素の追加と削除は可能です。 |
要素の関係
関係 | 要素 |
---|---|
親要素 |
|
子要素 |
なし。 |
解説
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)
条件アクションの定義
サブスクリプション ルールの定義