Share via


SubscriptionScheduledRule Class

Represents a scheduled rule that contains actions, not condition actions.

Namespace: Microsoft.SqlServer.Management.Nmo
Assembly: Microsoft.SqlServer.Smo (in microsoft.sqlserver.smo.dll)

Syntax

'Declaration
Public NotInheritable Class SubscriptionScheduledRule
    Inherits NamedSmoObject
public sealed class SubscriptionScheduledRule : NamedSmoObject
public ref class SubscriptionScheduledRule sealed : public NamedSmoObject
public final class SubscriptionScheduledRule extends NamedSmoObject
public final class SubscriptionScheduledRule extends NamedSmoObject

Remarks

The SubscriptionScheduledRule class represents a rule that uses simple parameter-based Transact-SQL queries to generate notifications for scheduled subscriptions.

Each SubscriptionScheduledRule object must specify an action, which is a Transact-SQL query that does the work of the rule. A subscription class can have multiple SubscriptionScheduledRule objects, and can also have SubscriptionConditionScheduledRule, SubscriptionEventRule, and SubscriptionConditionEventRule objects.

SubscriptionScheduledRule objects are associated with a subscription class through the SubscriptionScheduledRules property.

Inheritance Hierarchy

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

Example

The following examples show how to define a scheduled rule and add it to a subscription class:

// Add a rule to generate basic scheduled notifications
SubscriptionScheduledRule flightScheduledRule = 
    new SubscriptionScheduledRule(
    flightSubscriptions, "FlightScheduledRule");
flightScheduledRule.Action = "INSERT INTO FlightNotifications " + 
    "(SubscriberId, DeviceName, SubscriberLocale, " +
    " LeavingFrom, GoingTo, Price) " + 
    " SELECT S.SubscriberId, S.DeviceName, S.SubscriberLocale, " +
    " EC.LeavingFrom, EC.GoingTo, EC.Price " + 
    " FROM FlightEventChronicle EC, FlightSubscriptions S " +
    " WHERE EC.LeavingFrom = S.LeavingFrom " + 
    " AND EC.GoingTo = S.GoingTo " +
    " AND EC.Price < S.Price";
flightScheduledRule.ActionTimeout = new TimeSpan(0, 0, 30);
flightSubscriptions.SubscriptionScheduledRules.Add(
    flightScheduledRule);
' Add a rule to generate basic scheduled notifications
Dim flightScheduledRule As SubscriptionScheduledRule = _
    New SubscriptionScheduledRule(flightSubscriptions, _
        "FlightScheduledRule")
flightScheduledRule.Action = _
    "INSERT INTO FlightNotifications " + _
    "(SubscriberId, DeviceName, SubscriberLocale, " + _
    "LeavingFrom, GoingTo, Price) " + _
    "SELECT S.SubscriberId, S.DeviceName, S.SubscriberLocale,  " + _
    "EC.LeavingFrom, EC.GoingTo, EC.Price " + _
    "FROM FlightEventChronicle EC, FlightSubscriptions S " + _
    "WHERE EC.LeavingFrom = S.LeavingFrom " + _
    "AND EC.GoingTo = S.GoingTo " + _
    "AND EC.Price < S.Price"
flightScheduledRule.ActionTimeout = New TimeSpan(0, 0, 30)
flightSubscriptions.SubscriptionScheduledRules.Add( _
    flightScheduledRule)

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

SubscriptionScheduledRule Members
Microsoft.SqlServer.Management.Nmo Namespace

Other Resources

Defining Scheduled Rules
Action Element for ScheduledRule (ADF)
ScheduledRule Element (ADF)