Aracılığıyla paylaş


sp_bindefault (Transact-SQL)

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

Önemli notÖnemli

Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmayın ve bu özelliği kullanmakta olan uygulamaları mümkün olduğunca erken bir zamanda değiştirin.Varsayılan anahtar sözcüğünü kullanarak varsayılan tanımları oluşturmanızı öneririz alter table veya create table deyimi yerine.Daha fazla bilgi için, bkz. Oluşturma ve varsayılan tanımları değiştirme.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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

Bağımsız değişkenler

  • [ @defname= ] 'default'
    OLUŞTURMA varsayılan olarak oluşturulan varsayılan adıdır.defaultİş nvarchar(776), ile hiçbir varsayılan.

  • [ @objname=] 'object_name'
    tablo ve sütun veya diğer ad veri türü için varsayılan bağlanacak olan adıdır.object_nameİş nvarchar(776)ile hiçbir varsayılan.object_nameile tanımlanamaz varchar(max), nvarchar(max), varbinary(max), xml, veya clr kullanıcı tanımlı türler.

    object_name Bir tek parçalı adıdır bir diğer ad veri türü. çözümlenenİki veya üç bölümlü adı ise, tablo ve sütunilk çözümlenir; ve bu çözümü başarısız olursa, diğer ad veri türü olarak çözümlenir.Varsayılan olarak, varolan diğer ad veri türü sütunları devralır default, sürece varsayılan için doğrudan sütunbağlı.Varsayılan bağlanamaz bir metin, ntext, Görüntü, varchar(max), nvarchar(max), varbinary(max), xml, timestamp, veya CLR kullanıcı tanımlı türüsütun, bir sütun kimlik özellikile hesaplanmış bir sütunveya bir varsayılan kısıtlama. zaten bir sütun

    Not

    object_nameköşeli ayraçlar içerebilir [] olarak sınırlandırılmış tanımlayıcıları. Daha fazla bilgi için, bkz. Sınırlandırılmış tanımlayıcıları (veritabanı altyapısı).

  • [ @futureonly= ] 'futureonly_flag'
    Yalnızca kullanılan bağlama varsayılan diğer ad veri yazdığınızda.futureonly_flagİş varchar(15) Varsayılan değer null.Bu parametre olduğunda küme için futureonly, varolan sütun veri türü, yeni varsayılan devralamaz.Bu asla parametresidir kullanılacağı bağlama varsayılan bir sütun.futureonly_flag Null, yeni varsayılan, geçerli olan varsayılan veya varolan varsayılan diğer ad veri türü. kullanarak tüm sütunları diğer ad veri türü için bağlı olduğu

Dönüş Kodu Değerleri

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

Açıklamalar

Kullanabileceğiniz sp_bindefault yeni bir varsayılan bir sütuniçin varsayılan kısıtlama kullanarak tercih edilir veya bir diğer ad veri türü için varolan bir varsayılan bağlarken olmadan bağlamak.Eski varsayılan geçersiz kılınır.Varsayılan olarak bağlanamıyor bir SQL Server Sistem veri türü veya CLR kullanıcı tanımlı türü.Varsayılan, sizin bağlı, sütun ile uyumlu değilse, SQL Server Veritabanı Altyapısı çalışırken varsayılan değer değil, it. bağlama eklemeye çalıştığında hata iletisi döndürüyor

diğer ad veri türü varolan sütunları devralır yeni varsayılan bir varsayılan doğrudan kendisine bağlı değilse veya futureonly_flag olarak belirtilen futureonly.diğer ad veri türü yeni sütunlar her zaman varsayılan devralır.

Bir sütunvarsayılan baðladýðýnýzda, ilgili bilgiler eklenir sys.columns Katalog görünümü.Bir diğer ad veri türü için varsayılan baðladýðýnýzda, ilgili bilgiler eklenir sys.types Katalog görünümü.

İzinler

Kullanıcı tablosahibi veya gerekir üye olmanız sysadmin sabit sunucu rolü, ya da db_owner ve db_ddladmin veritabanı rolleri sabit.

Örnekler

A.Varsayılan bir sütunbağlama

Adlı bir varsayılan today Varsayılan oluşturma varsayılan olarak aşağıdaki örnek bağlamalar kullanarak geçerli veritabanında tanımlanmış HireDate sütun Employee tablo.Her bir satır eklenir için Employee tablo için ve verileri HireDate sütun sağlanan değil, sütun varsayılan değeri alır today.

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 adlı bir def_ssn ve bir diğer ad veri türü adlı ssn zaten mevcut.Aşağıdaki örnek varsayılan bağlar def_ssn için ssn.Bir tablo oluşturulduğunda, varsayılan diğer ad veri türü atanmış olan tüm sütunlar tarafından devralınan ssn.Varolan sütun türü SSK de varsayılan devralır def_ssn, sürece futureonly için belirtilen futureonly_flag değeri, ya da doğrudan bağlı bir varsayılan sütun olmadığı sürece.Her zaman önceliklidir olanlar üzerinden veri türleri ile ilişkili sütunlar varsayılan bağlı.

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

C.Futureonly_flag kullanma

Aşağıdaki örnek varsayılan bağlar def_ssn diğer ad veri türü için ssn.Çünkü futureonly belirtilen türdeki varolan sütun ssn etkilenir.

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

D.Sınırlandırılmış tanımlayıcıları kullanarak

Aşağıdaki örnek, sınırlandırılmış tanımlayıcıları kullanarak gösterir [t.1], object_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.