다음을 통해 공유


PropertyRule Class

Defines logic that evaluates to a scalar value for any row in an input table or view. This class cannot be inherited.

네임스페이스: Microsoft.SqlServer.NotificationServices.Rules
어셈블리: Microsoft.SqlServer.NotificationServices.Rules (in microsoft.sqlserver.notificationservices.rules.dll)

구문

‘선언
Public Class PropertyRule
    Inherits RuleLogic
public class PropertyRule : RuleLogic
public ref class PropertyRule : public RuleLogic
public class PropertyRule extends RuleLogic
public class PropertyRule extends RuleLogic

주의

A property rule contains statements in the form "IF Condition THEN Result" where the result is a scalar value determined by evaluating the conditions in the rule.

You must define at least one PropertyStatement using the PropertyStatements property or the PropertyRule(InputType,PropertyStatement[]) constructor. If you define multiple statements, the result of evaluating this rule is the result of the first statement with a matching Condition criteria, or NULL if no criteria is met.

Inheritance Hierarchy

System.Object
   Microsoft.SqlServer.NotificationServices.Rules.RuleObject
     Microsoft.SqlServer.NotificationServices.Rules.StoredRuleObject
       Microsoft.SqlServer.NotificationServices.Rules.RuleLogic
        Microsoft.SqlServer.NotificationServices.Rules.PropertyRule

The following example shows how to define a property rule that defines three properties: Few, Some, and Alot. It uses this property rule to define a subscription to events where Quantity equals Few:

// Define a new property that defines "Few," "Some," and "Alot"
// of inventory. 
PropertyRule quantityCategory = new PropertyRule(
    new ViewInputType(eventView),
    new PropertyStatement(new SimpleLeafCondition(
        new FieldValue("Quantity"),
        SimpleOperator.LessThan, 100), "Few"),
    new PropertyStatement(new BetweenLeafCondition(
        new FieldValue("Quantity"), 100, 200), "Some"),
    new PropertyStatement(new SimpleLeafCondition(
            new FieldValue("Quantity"),
            SimpleOperator.GreaterThan, 200),
        "Alot"));

// Create subscription and define basic properties.
s = new Subscription(nsApplication, subscriptionClassName);
s.SubscriberId = "Scott";
s.Enabled = true;
s.RuleName = "InventoryTrackerRule";
s.SetFieldValue("DeviceName", "myDevice");
s.SetFieldValue("SubscriberLocale", "en-us");


// Use the new property to return only products with "few" remaining
// in inventory. Note that the category definition can be reused.
s.Condition = new SimpleLeafCondition(
    new RuleValue(quantityCategory),
    SimpleOperator.Equals,
    "Few");

// Add subscription.
s.Add();

스레드 보안

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.

플랫폼

개발 플랫폼

지원되는 플랫폼 목록은 SQL Server 2005 설치를 위한 하드웨어 및 소프트웨어 요구 사항을 참조하십시오.

대상 플랫폼

지원되는 플랫폼 목록은 SQL Server 2005 설치를 위한 하드웨어 및 소프트웨어 요구 사항을 참조하십시오.

참고 항목

참조

PropertyRule Members
Microsoft.SqlServer.NotificationServices.Rules Namespace