Assembly: Microsoft.SqlServer.Smo (in microsoft.sqlserver.smo.dll)
The SubscriptionEventRule class represents a rule that uses simple parameter-based Transact-SQL queries to generate notifications as event batches arrive, or that do other processing, such as maintaining chronicles.
Each SubscriptionEventRule object must specify an action, which is a Transact-SQL query that does the work of the rule. A subscription class can have multiple SubscriptionEventRule objects, and can also have SubscriptionConditionEventRule, SubscriptionScheduledRule, and SubscriptionConditionScheduledRule objects.
SubscriptionEventRule objects are associated with a subscription class through the SubscriptionEventRules property.
The following examples show how to define an event rule and then add it to a subscription class:
// 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);