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.Default tanımları varsayılan anahtar sözcüğünü kullanarak oluşturmanızı öneririz alter table veya create table deyimleri yerine.

Konu bağlantısı simgesi Transact-SQL Sözdizim 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. defaultise nvarchar(776), hiçbir varsayılan ile.

  • @objname='object_name'
    Tablo ve sütun veya varsayılan bağlanacak olan diğer ad veri türü addır. object_nameise nvarchar(776)hiçbir varsayılan ile. object_nameile tanımlanamaz varchar(max), nvarchar(max), varbinary(max), xml, ya da kullanıcı tanımlı clr türleri.

    Eğer object_namebir tek parça ad diğer ad veri türü çözülmüştür. Eğer iki veya üç bölümlü adı, tablo ve sütun ilk çözümlenir; ve bu başarısız olursa, diğer ad veri türü çözümlenir. Varsayılan olarak, diğer ad veri türü varolan sütunları devralır default, sürece varsayılan sütun doğrudan bağlı. Varsayılan bağlı olamaz bir metin, ntext, Resim, varchar(max), nvarchar(max), varbinary(max), xml, timestamp, veya clr kullanıcı tanımlı türü sütun, sütun KIMLIK özelliği ile hesaplanmış bir sütun veya default kısıtlaması olan sütun.

    [!NOT]

    object_nameayraçlar içerebilir [] olarak sınırlandırılmış tanımlayıcıları. Daha fazla bilgi için, bkz. Veritabanı tanımlayıcıları.

  • @futureonly='futureonly_flag'
    Yalnızca bir varsayılan ad veri türü için bağlanırken kullanılır. futureonly_flagise varchar(15)null varsayılan. Bu parametre ayarlandığında futureonly, bu veri türündeki varolan sütunları olamaz devralan yeni varsayılan. Bu parametre, varsayılan bir sütunu bağlama sırasında asla kullanılmaz. Eğer futureonly_flagnull ise, şu anda hiçbir varsayılan vardır ya da varolan varsayılan diğer ad veri türü kullanıyorsanız herhangi bir sütun diğer ad veri türü için yeni varsayılan bağlı.

Dönüş Kodu Değerleri

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

Açıklamalar

Sen-ebilmek kullanma KIMLIĞIsp_bindefault yeni varsayılan bir sütun için varsayılan kısıtlama kullanarak tercih edilen olsa veya bir diğer ad veri türü varolan varsayılan yığınının olmadan bağlamak için. Eski varsayılan geçersiz kılınır. İçin varsayılan bağlanılamıyor bir SQL Serververi türü veya kullanıcı tanımlı bir clr türü. Varsayılan sütun için size bağlı, uyumlu değilse SQL Server Veritabanı Altyapısıne zaman sen değil bağlamak görüneceği varsayılan değer eklemek çalıştığında hata iletisi

Diğer ad veri türü varolan sütunları devralan yeni varsayılan ya da varsayılan doğrudan ilişkili olduğu sürece veya futureonly_flagolarak belirtilen futureonly. Diğer ad veri türü yeni sütunlar her zaman varsayılan devralır.

Bir sütun için varsayılan bağladığınızda, ilgili bilgiler eklenir sys.columns Katalog görünümü. 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ı tablonun sahibi gerekir veya üyesi olmak sysadmin sabit sunucu rolü, ya da db_owner ve db_ddladmin veritabanı rolleri sabit.

Örnekler

A.Varsayılan bir sütunu bağlama

Adlı bir varsayılan todayVarsayılan create default, aşağıdaki örnek bağlamalar kullanarak geçerli veritabanı içinde tanımlanan HireDatesütununda Employeetablosu. Her bir satır ekledi için Employeetablo ve veri HireDatesütun verilmez, sütunun varsayılan değeri alır today.

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

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

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

Adlandırılmış varsayılan def_ssnadlı bir diğer ad veri türü ssnzaten mevcut. Aşağıdaki örnek varsayılan bağlar def_ssniçin ssn. Bir tablo oluşturduğunuzda, 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 da varsayılan devralan def_ssn, sürece futureonly için belirtilen c.futureonly_flag değeri veya sütun doğrudan ilişkili bir varsayılan ayar yoksa. Her zaman önceliklidir o üzerinden veri türlerine bağlı sütunlar varsayılan bağlı.

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

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

C.C.futureonly_flag kullanma

Aşağıdaki örnek varsayılan bağlar def_ssnad veri türü için ssn. Çünkü futureonly belirtilen türdeki varolan sütun yok ssnetkilenir.

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

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

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

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

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.

Ayrıca bkz.

Başvuru

Veritabanı Altyapısı depolanan yordamlar (Transact-sql)

Varsayılan (Transact-sql) oluştur

Varsayılan (Transact-sql) bırak

sp_unbindefault (Transact-sql)

Sistem saklı yordamları (Transact-sql)