Поделиться через


Создание, изменение и удаление используемых по умолчанию значений

В управляющих объектах SQL Server (SMO) значение по умолчанию представлено объектом Default.

Свойство TextBody объекта Default используется, чтобы установить вставляемое значение. Это может быть константа или инструкция Transact-SQL, возвращающая значение константы, такая как GETDATE(). Свойство TextBody не может быть изменено методом Alter. Вместо этого объект Default необходимо удалить и создать заново.

Пример

Чтобы использовать какой-либо из представленных примеров кода, необходимо выбрать среду, шаблон и язык программирования, с помощью которых будет создаваться приложение. Дополнительные сведения см. в разделах Создание проекта SMO на языке Visual Basic в среде Visual Studio .NET и Создание проекта SMO на языке Visual C# в среде Visual Studio .NET.

Создание, изменение и удаление значения по умолчанию на языке Visual Basic

Этот пример кода показывает, как создать одно значение по умолчанию, являющееся простым текстом, и другое значение по умолчанию, представляющее собой инструкцию Transact-SQL. Значение по умолчанию необходимо присоединять к столбцу с помощью метода BindToColumn и отсоединять с помощью метода UnbindFromColumn.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2012 database.
Dim db As Database
db = srv.Databases("AdventureWorks2012")
'Define a Default object variable by supplying the parent database and the default name 
'in the constructor.
Dim def As [Default]
def = New [Default](db, "Test_Default2")
'Set the TextHeader and TextBody properties that define the default.
def.TextHeader = "CREATE DEFAULT [Test_Default2] AS"
def.TextBody = "GetDate()"
'Create the default on the instance of SQL Server.
def.Create()
'Declare a Column object variable and reference a column in the AdventureWorks2012 database.
Dim col As Column
col = db.Tables("SpecialOffer", "Sales").Columns("StartDate")
'Bind the default to the column.
def.BindToColumn("SpecialOffer", "StartDate", "Sales")
'Unbind the default from the column and remove it from the database.
def.UnbindFromColumn("SpecialOffer", "StartDate", "Sales")
def.Drop()

Создание, изменение и удаление значения по умолчанию на языке Visual C#

Этот пример кода показывает, как создать одно значение по умолчанию, являющееся простым текстом, и другое значение по умолчанию, представляющее собой инструкцию Transact-SQL. Значение по умолчанию необходимо присоединять к столбцу с помощью метода BindToColumn и отсоединять с помощью метода UnbindFromColumn.

{
          
          Server srv = new Server();

            //Reference the AdventureWorks2012 database. 
            Database  db = srv.Databases["AdventureWorks2012"];

            //Define a Default object variable by supplying the parent database and the default name 
            //in the constructor. 
            Default def = new Default(db, "Test_Default2");

            //Set the TextHeader and TextBody properties that define the default. 
            def.TextHeader = "CREATE DEFAULT [Test_Default2] AS";
            def.TextBody = "GetDate()";

            //Create the default on the instance of SQL Server. 
            def.Create();
            
            //Bind the default to a column in a table in AdventureWorks2012
            def.BindToColumn("SpecialOffer", "StartDate", "Sales");

            //Unbind the default from the column and remove it from the database. 
            def.UnbindFromColumn("SpecialOffer", "StartDate", "Sales");
            def.Drop();
        }

Создание, изменение и удаление значения по умолчанию в PowerShell

Этот пример кода показывает, как создать одно значение по умолчанию, являющееся простым текстом, и другое значение по умолчанию, представляющее собой инструкцию Transact-SQL. Значение по умолчанию необходимо присоединять к столбцу с помощью метода BindToColumn и отсоединять с помощью метода UnbindFromColumn.

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

#Define a Default object variable by supplying the parent database and the default name in the constructor.
$def = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Default `
-argumentlist $db, "Test_Default2"

#Set the TextHeader and TextBody properties that define the default. 
$def.TextHeader = "CREATE DEFAULT [Test_Default2] AS"
$def.TextBody = "GetDate()"

#Create the default on the instance of SQL Server. 
$def.Create()

#Bind the default to the column. 
$def.BindToColumn("SpecialOffer", "StartDate", "Sales")
          
#Unbind the default from the column and remove it from the database. 
$def.UnbindFromColumn("SpecialOffer", "StartDate", "Sales")
$def.Drop()

См. также

Справочник

Default