SubscriptionEventRule Class
条件アクションではなく、単純アクションで構成されるイベント ルールを表します。
名前空間: Microsoft.SqlServer.Management.Nmo
アセンブリ: Microsoft.SqlServer.Smo (microsoft.sqlserver.smo.dll 内)
構文
'宣言
Public NotInheritable Class SubscriptionEventRule
Inherits NamedSmoObject
public sealed class SubscriptionEventRule : NamedSmoObject
public ref class SubscriptionEventRule sealed : public NamedSmoObject
public final class SubscriptionEventRule extends NamedSmoObject
public final class SubscriptionEventRule extends NamedSmoObject
解説
SubscriptionEventRule クラスは、単純なパラメータに基づく Transact-SQL クエリを使用して、イベント バッチが着信したときに通知を生成したり、記録の管理など、その他の処理を行うルールを表します。
各 SubscriptionEventRule オブジェクトは、アクションとして、ルールの作業を行う Transact-SQL クエリを指定する必要があります。サブスクリプション クラスは、複数の SubscriptionEventRule オブジェクトを使用することができます。また、SubscriptionConditionEventRule、SubscriptionScheduledRule、SubscriptionConditionScheduledRule の各オブジェクトを使用することもできます。
SubscriptionEventRule オブジェクトは、SubscriptionEventRules プロパティを介してサブスクリプション クラスに関連付けられます。
継承階層
System.Object
Microsoft.SqlServer.Management.Smo.SmoObjectBase
Microsoft.SqlServer.Management.Smo.SqlSmoObject
Microsoft.SqlServer.Management.Smo.NamedSmoObject
Microsoft.SqlServer.Management.Nmo.SubscriptionEventRule
使用例
次の例は、イベント ルールを定義してサブスクリプション クラスに追加する方法を示しています。
// Add a rule to generate basic event-triggered notifications
SubscriptionEventRule flightEventRule =
new SubscriptionEventRule(flightSubscriptions,
"FlightSubscriptionsEventRule");
flightEventRule.Action = "INSERT INTO FlightNotifications " +
"(SubscriberId, DeviceName, SubscriberLocale, " +
"LeavingFrom, GoingTo, Price) " +
"SELECT S.SubscriberId, S.DeviceName, S.SubscriberLocale, " +
"E.LeavingFrom, E.GoingTo, E.Price " +
"FROM FlightEvents E, FlightSubscriptions S " +
"WHERE E.LeavingFrom = S.LeavingFrom " +
"AND E.GoingTo = S.GoingTo " +
"AND E.Price < S.Price";
flightEventRule.ActionTimeout = new TimeSpan(0, 1, 0);
flightEventRule.EventClassName = "FlightEvents";
flightSubscriptions.SubscriptionEventRules.Add(flightEventRule);
' Add a rule to generate basic event-triggered notifications
Dim flightEventRule As SubscriptionEventRule = _
New SubscriptionEventRule(flightSubscriptions, _
"FlightSubscriptionsEventRule")
flightEventRule.Action = _
"INSERT INTO FlightNotifications " + _
"(SubscriberId, DeviceName, SubscriberLocale, " + _
"LeavingFrom, GoingTo, Price) " + _
"SELECT S.SubscriberId, S.DeviceName, S.SubscriberLocale, " + _
"E.LeavingFrom, E.GoingTo, E.Price " + _
"FROM FlightEvents E, FlightSubscriptions S " + _
"WHERE E.LeavingFrom = S.LeavingFrom " + _
"AND E.GoingTo = S.GoingTo " + _
"AND E.Price < S.Price"
flightEventRule.ActionTimeout = New TimeSpan(0, 1, 0)
flightEventRule.EventClassName = "FlightEvents"
flightSubscriptions.SubscriptionEventRules.Add(flightEventRule)
スレッド セーフ
この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
開発プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。
対象プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。
参照
関連項目
SubscriptionEventRule Members
Microsoft.SqlServer.Management.Nmo Namespace