SubscriptionConditionEventRule Class

条件アクションを使用して通知を生成するイベント ルールを表します。

名前空間: Microsoft.SqlServer.Management.Nmo
アセンブリ: Microsoft.SqlServer.Smo (microsoft.sqlserver.smo.dll 内)

構文

'宣言
Public NotInheritable Class SubscriptionConditionEventRule
    Inherits NamedSmoObject
public sealed class SubscriptionConditionEventRule : NamedSmoObject
public ref class SubscriptionConditionEventRule sealed : public NamedSmoObject
public final class SubscriptionConditionEventRule extends NamedSmoObject
public final class SubscriptionConditionEventRule extends NamedSmoObject

解説

SubscriptionConditionEventRule オブジェクトは、処理するイベント バッチがある各ジェネレータ クォンタムで、条件を使用するサブスクリプションに対して実行されるサブスクリプション ルールです。

SubscriptionClass オブジェクトには、0 個以上の SubscriptionConditionEventRule オブジェクトを含めることができます。SubscriptionClass オブジェクトは、SubscriptionConditionScheduledRuleSubscriptionEventRuleSubscriptionScheduledRule の各種類のサブスクリプション ルールを使用することもできます。

サブスクリプション ルールの詳細については、「サブスクリプション ルールの定義」を参照してください。

SubscriptionConditionEventRuleCollection オブジェクトを返す SubscriptionConditionEventRules プロパティを使用して SubscriptionClass オブジェクトに個々の SubscriptionConditionEventRule オブジェクトを追加します。

継承階層

System.Object
   Microsoft.SqlServer.Management.Smo.SmoObjectBase
     Microsoft.SqlServer.Management.Smo.SqlSmoObject
       Microsoft.SqlServer.Management.Smo.NamedSmoObject
        Microsoft.SqlServer.Management.Nmo.SubscriptionConditionEventRule

使用例

次の例は、条件ベースのイベント ドリブン サブスクリプション ルールを定義してサブスクリプション クラスに追加する方法を示しています。

// Add a rule to generate condition-based, event notifications
SubscriptionConditionEventRule flightConditionEventRule = 
    new SubscriptionConditionEventRule(
    flightSubscriptions, "FlightConditionEventRule");
flightConditionEventRule.EventClassName = "FlightEvents";
flightConditionEventRule.ActionTimeout = new TimeSpan(0, 2, 0);
flightConditionEventRule.SqlLoginName = "MyLowPrivLogin";
flightConditionEventRule.SqlUserName = "MyLowPrivUser";
flightConditionEventRule.InputTypeName = "FlightEvents";
flightConditionEventRule.InputTypeSchema = "MyAppSchema";
flightConditionEventRule.SqlExpression =
    "INSERT INTO MyAppSchema.FlightNotifications (SubscriberId, " +
    "DeviceName, SubscriberLocale, LeavingFrom, GoingTo, Price) " +
    "SELECT [Subscription.SubscriberId], [Subscription.DeviceName], " +
    "[Subscription.SubscriberLocale], " +
    "[Input.LeavingFrom], [Input.GoingTo], [Input.Price] " +
    "FROM MyAppSchema.FlightConditionEventRule;";
flightSubscriptions.SubscriptionConditionEventRules.Add(
    flightConditionEventRule);
' Add a rule to generate condition-based, event notifications
Dim flightConditionEventRule As _
    SubscriptionConditionEventRule = _
    New SubscriptionConditionEventRule( _
    flightSubscriptions, "FlightConditionEventRule")
flightConditionEventRule.EventClassName = "FlightEvents"
flightConditionEventRule.ActionTimeout = New TimeSpan(0, 2, 0)
flightConditionEventRule.SqlLoginName = "MyLowPrivLogin"
flightConditionEventRule.SqlUserName = "MyLowPrivUser"
flightConditionEventRule.InputTypeName = "FlightEvents"
flightConditionEventRule.InputTypeSchema = "MyAppSchema"
flightConditionEventRule.SqlExpression = _
 "INSERT INTO MyAppSchema.FlightNotifications " + _
 "(SubscriberId, DeviceName, SubscriberLocale, LeavingFrom, " + _
 "GoingTo, Price) SELECT [Subscription.SubscriberId], " + _
 "[Subscription.DeviceName], [Subscription.SubscriberLocale], " + _
 "[Input.LeavingFrom], [Input.GoingTo], [Input.Price] " + _
 "FROM MyAppSchema.FlightConditionEventRule;"
flightSubscriptions.SubscriptionConditionEventRules.Add( _
    flightConditionEventRule)

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

SubscriptionConditionEventRule Members
Microsoft.SqlServer.Management.Nmo Namespace

その他の技術情報

イベント ルールの定義
条件アクションの定義
EventRule 要素 (ADF)
ConditionAction 要素 (ADF)