Udostępnij za pośrednictwem


Tworzenie, modyfikowanie i usuwanie reguł

W SMO, zasady są reprezentowane przez Rule obiektu.Reguła jest zdefiniowany przez TextBody właściwość, która jest ciąg tekstowy, który zawiera wyrażenie warunku używający podobny, Operatorzy lub predykatów, takich jak W, lub BETWEEN.Reguły nie może odwoływać się do kolumn lub inne obiekty bazy danych.Wbudowane funkcje, które nie odwołania do obiektów bazy danych może zostać dołączony.

Definicja TextBody właściwość musi zawierać zmienna, która odwołuje się do wartości danych wprowadzonych.Jakakolwiek nazwa lub symbol może służyć do reprezentowania wartości podczas tworzenia reguły, ale pierwszy znak musi być @ symbol.

Przykład

Aby używać dostarczonych przykładów kodu źródłowego, należy wybrać środowisko, szablon oraz język programowania, które będą używane do tworzenia aplikacji.Aby uzyskać więcej informacji, zobacz Jak Tworzenie projektu SMO Visual Basic w programie Visual Studio.NET lub Jak Tworzenie projektu programu Visual C# SMO w programie Visual Studio.NET.

Tworzenie, modyfikowanie i usuwanie reguły w języku Visual Basic

Ten przykładowy kod ilustruje tworzenie reguły, dołączyć go do kolumna, modyfikowanie właściwości Rule obiekt, odłączyć go od kolumna, a następnie upuść go

Dim instrukcja dla Rule obiektu zostanie podana ścieżka pełnego wirtualny plik dziennika, aby uniknąć niejednoznaczności, z Rule obiektu wirtualny plik dziennika dane systemowe.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2008R2 database.
Dim db As Database
db = srv.Databases("AdventureWorks2008R2")
'Declare a Table object variable and reference the Product table.
Dim tb As Table
tb = db.Tables("Product", "Production")
'Define a Rule object variable by supplying the parent database, name and schema in the constructor. 
'Note that the full namespace must be given for the Rule type to differentiate it from other Rule types.
Dim ru As Microsoft.SqlServer.Management.Smo.Rule
ru = New Rule(db, "TestRule", "Production")
'Set the TextHeader and TextBody properties to define the rule.
ru.TextHeader = "CREATE RULE [Production].[TestRule] AS"
ru.TextBody = "@value BETWEEN GETDATE() AND DATEADD(year,4,GETDATE())"
'Create the rule on the instance of SQL Server.
ru.Create()
'Bind the rule to a column in the Product table by supplying the table, schema, and 
'column as arguments in the BindToColumn method.
ru.BindToColumn("Product", "SellEndDate", "Production")
'Unbind from the column before removing the rule from the database.
ru.UnbindFromColumn("Product", "SellEndDate", "Production")
ru.Drop()

Tworzenie, modyfikowanie i usuwanie reguły w języku Visual C#

Ten przykładowy kod ilustruje tworzenie reguły, dołączyć go do kolumna, modyfikowanie właściwości Rule obiekt, odłączyć go od kolumna, a następnie upuść go

Dim instrukcja dla Rule obiektu zostanie podana ścieżka pełnego wirtualny plik dziennika, aby uniknąć niejednoznaczności, z Rule obiektu wirtualny plik dziennika dane systemowe.

{
            //Connect to the local, default instance of SQL Server. 
            Server srv;
            srv = new Server();
            //Reference the AdventureWorks2008R2 database. 
            Database db;
            db = srv.Databases["AdventureWorks2008R2"];
        
            //Define a Rule object variable by supplying the parent database, name and schema in the constructor. 
            //Note that the full namespace must be given for the Rule type to differentiate it from other Rule types. 
            Microsoft.SqlServer.Management.Smo.Rule ru;
            ru = new Rule(db, "TestRule", "Production");
            //Set the TextHeader and TextBody properties to define the rule. 
            ru.TextHeader = "CREATE RULE [Production].[TestRule] AS";
            ru.TextBody = "@value BETWEEN GETDATE() AND DATEADD(year,4,GETDATE())";
            //Create the rule on the instance of SQL Server. 
            ru.Create();
            //Bind the rule to a column in the Product table by supplying the table, schema, and 
            //column as arguments in the BindToColumn method. 
            ru.BindToColumn("Product", "SellEndDate", "Production");
            //Unbind from the column before removing the rule from the database. 
            ru.UnbindFromColumn("Product", "SellEndDate", "Production");
            ru.Drop();


        }

Tworzenie, modyfikowanie i usuwanie reguły w PowerShell

Ten przykładowy kod ilustruje tworzenie reguły, dołączyć go do kolumna, modyfikowanie właściwości Rule obiekt, odłączyć go od kolumna, a następnie upuść go

Dim instrukcja dla Rule obiektu zostanie podana ścieżka pełnego wirtualny plik dziennika, aby uniknąć niejednoznaczności, z Rule obiektu wirtualny plik dziennika dane systemowe.

# Set the path context to the local, default instance of SQL Server and get a reference to AdventureWorks2008R2
CD \sql\localhost\default\databases
$db = get-item Adventureworks2008R2

# Define a Rule object variable by supplying the parent database, name and schema in the constructor. 
$ru = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Rule `
-argumentlist $db, "TestRule", "Production"

#Set the TextHeader and TextBody properties to define the rule. 
$ru.TextHeader = "CREATE RULE [Production].[TestRule] AS"
$ru.TextBody = "@value BETWEEN GETDATE() AND DATEADD(year,4,GETDATE())"

#Create the rule on the instance of SQL Server. 
$ru.Create()

# Bind the rule to a column in the Product table by supplying the table, schema, and 
# column as arguments in the BindToColumn method. 
$ru.BindToColumn("Product", "SellEndDate", "Production")

#Unbind from the column before removing the rule from the database. 
$ru.UnbindFromColumn("Product", "SellEndDate", "Production")
$ru.Drop()

Zobacz także

Odwołanie