sp_bindefault (Transact-SQL)

Bir sütun veya bir diğer ad veri türü için varsayılan bağlar.

Important noteImportant Note:

This feature will be removed in a future version of Microsoft SQL Server. Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible.Tanımları varsayılan olarak varsayılan anahtar sözcüğünü kullanarak oluşturmanızı öneririzALTER tablo veya CREATE tablo deyimleri yerine. Daha fazla bilgi için bkz:Oluşturma ve VARSAYıLAN tanımları değiştirme.

Topic link iconTransact-SQL sözdizimi kuralları

sp_bindefault [ @defname = ] 'default' , 
    [ @objname = ] 'object_name' 
    [ , [ @futureonly = ] 'futureonly_flag' ] 

Bağımsız değişkenler

  • [ @defname= ] 'default'
    Is the name of the default that is created by CREATE DEFAULT.default is nvarchar(776), with no default.

  • [ @objname= ] 'object_name'
    Is the name of table and column or the alias data type to which the default is to be bound.object_name is nvarchar(776) with no default.object_name cannot be defined with the varchar(max), nvarchar(max), varbinary(max), xml, or CLR user-defined types.

    Ifobject_namebir tek parça ad bir diğer ad veri türü. çözülmüşİki veya üç parçalı adı ise, ilk bir tablo ve sütun; çözülene ve bu başarısız olursa, bir diğer ad veri türü olarak çözümlenir.Varsayılan olarak, diğer ad ad veri türü varolan sütun devralır.defaultsürece varsayılan bağlı doğrudan sütun.İçin varsayılan bağlanamaz birmetinntext , görüntü , varchar(max) , nvarchar(max) , varbinary(max) , xmltimestamp, CLR kullanıcı tanımlı türü sütun, kimlik özellik olan bir sütunu, hesaplanan bir sütun veya zaten varsayılan kısıtlamayı. sahip bir sütunu

    Not

    object_name can contain brackets [] as delimited identifiers.Daha fazla bilgi için bkz:Sınırlandırılmış tanımlayıcıları (Veritabanı Altyapısı).

  • [ @futureonly= ] 'futureonly_flag'
    Is used only when binding a default to an alias data type.futureonly_flag is varchar(15) with a default of NULL.Bu parametre kümefutureonly, bu veri türü varolan sütun devralamaz yeni varsayılan.Bu parametre için varsayılan bağlanırken hiç kullanılmamış bir sütun.Iffutureonly_flagnull, yeni varsayılan, geçerli olan varsayılan veya diğer ad ad veri türü. Varolan varsayılan kullanarak bir sütun diğer ad ad veri türünün bağlı

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hatası)

Remarks

Kullanabileceğinizsp_bindefault yeni bir varsayılan bir sütun için varsayılan kısıtlama kullanarak tercih edilen olmasına rağmen veya bir diğer ad veri türü bir varolan varsayılan. unbinding olmadan bağlamak için Eski varsayılan geçersiz kılınır.Varsayılan olarak bağlanamaz birSQL ServerSistem veri türü veya bir CLR kullanıcı tanımlı tür.Varsayılan, sizin bağlı, sütun ile uyumlu değilse,SQL Server Database EngineVarsayılan değer olan değil, it. bağlama eklemeye çalıştığında bir hata iletisi döndürüyor

Varolan sütun diğer ad ad adı veri türünün varsayılan ya da doğrudan kendisine bağlı olduğu sürece yeni varsayılan devralmak veyafutureonly_flagolarak belirtilenfutureonly.Yeni bir sütun diğer ad ad adı veri türünün varsayılan değer her zaman alır.

Varsayılan bir sütuna bağlamak için ilgili bilgileri eklenirsys.Columns Katalog görünümü.Bir diğer ad veri türü için varsayılan bir bağlama, ilgili bilgileri eklenirsys.Types Katalog görünümü.

İzinler

Kullanıcı gerekir tablonun sahibi veya üyesiSistem Yöneticisi ve db_ownerdb_ddladmin sabit veritabanı rolü. sabit sunucu rolü veya

Örnekler

C.Varsayılan sütun bağlama

Varsayılan adıtodayVarsayılan CREATE DEFAULT, aşağıdaki örnekte bağlamalar kullanarak geçerli veritabanında tanımlanmışHireDatesütunEmployeeTablo.Her bir satır eklenir içinEmployeetablosu ve veriHireDatesütun sağlanan, sütunun varsayılan değeri alırtoday.

USE master;
GO
EXEC sp_bindefault 'today', 'HumanResources.Employee.HireDate';

B.Bir diğer ad veri türü için varsayılan bir bağlama

Varsayılan adıdef_ssnve bir diğer ad veri türü adıssnzaten.Aşağıdaki örnek, varsayılan bağlardef_ssntossn.Varsayılan miras, bir tablo oluşturulur, diğer ad ad veri türünün atandığı tüm sütuna göressn.Varolan sütun türüSSNfutureonlyfutureonly_flag değeri belirtilmediği sürece veya ilişkili için doğrudan it. varsayılan sütun olan varsayılan def_ssn de devralır Varsayılan sütunlar her zaman alma önceliği olan üzerinden veri türlerine bağlı bağlı.

USE master;
GO
EXEC sp_bindefault 'def_ssn', 'ssn';

C.The futureonly_flag kullanma

Aşağıdaki örnek, varsayılan bağlardef_ssndiğer ad ad veri türüssn.Çünküfutureonly belirtilirse, varolan sütun, yazın ssnetkilenir.

USE master;
GO
EXEC sp_bindefault 'def_ssn', 'ssn', 'futureonly';

D.Ayrılmış tanımlayıcı kullanılarak

Aşağıdaki örnekte gösterildiği kullanarak sınırlı tanımlayıcıları[t.1], inobject_name.

USE master;
GO
CREATE TABLE [t.1] (c1 int) 
-- Notice the period as part of the table name.
EXEC sp_bindefault 'default1', '[t.1].c1' 
-- The object contains two periods; 
-- the first is part of the table name, 
-- and the second distinguishes the table name from the column name.