Aracılığıyla paylaş


DEFAULT (Transact-SQL) CREATE

Varsayılan olarak adlandırılan bir nesne oluşturur.Bir sütun veya bir diğer ad ad veri türü, bağlı, varsayılan bir sütuna nesnenin bağlı olduğu için (veya bir diğer ad ad veri türü olması durumunda, tüm sütunlara) eklenecek bir değer belirtir, bir ekleme sırasında hiçbir değer açıkça sağlanır.

Important noteImportant Note:

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Bunun yerine, ALTER tablo veya CREATE tablo, VARSAYıLAN anahtar kullanılarak oluşturulan varsayılan tanımlarını kullanın.Daha fazla bilgi için bkz:Oluşturma ve VARSAYıLAN tanımları değiştirme.

Topic link iconTransact-SQL sözdizimi kuralları

CREATE DEFAULT [ schema_name . ] default_name 
AS constant_expression [ ; ]

Bağımsız değişkenler

  • schema_name
    Ait olduğu varsayılan şemayı adıdır.

  • default_name
    Varsayılan adıdır.Varsayılan ad kurallarına uygun olması gerekir tanımlayıcılar.Varsayılan sahibi adı seçime bağlıdır.

  • constant_expression
    Iş bir ifade (tüm sütunları veya diğer veritabanı nesnelerinin adlarını içeremez) yalnızca sabit değerleri içeren. Bir sabit, yerleşik bir işlev veya matematiksel ifade, diğer ad ad veri türleri içeren olanlar kullanılabilir.Kullanıcı tanımlı fonksiyonlar kullanılamazKarakter ve Tarih sabitleri tek tırnak () içine alın.'); parasal değeri, tamsayı ve kayan noktalı sabit týrnak iþaretleri gerektirmez.Ikili veri 0 x gelmelidir ve parasal verileri bir dolar işareti ($) gelmelidir.Varsayılan değer ile uyumlu sütun veri türü.

Remarks

Bir varsayılan ad, yalnızca geçerli veritabanında oluşturulabilir.Bir veritabanı içinde varsayılan adlar, şema tarafından benzersiz olmalıdır.Varsayılan oluşturulduğunda kullanın. sp_bindefault , onu bir sütun veya bir diğer ad ad veri türü bağlayabilirsiniz.

Varsayılan sütun ile ilişkili olduğu uyumlu değilse SQL Server Varsayılan değer olarak eklemeye çalışırken, bir hata iletisi oluşturur. N/A için varsayılan olarak, kullanılamaz bir sayısal sütun.

Varsayılan değer için çok uzun ise sütun, bağlı olduğu için değeri kesildi.

Diğer ifadeleri CREATE DEFAULT birleştirilemez Transact-SQL tek bir toplu iş deyimlerinde.

Varsayılan aynı adlı yeni bir tane oluşturmadan önce kesilmesine ve yürütmek yoluyla varsayılan ilişkisiz gerekir sp_unbindefault kesilmeden önce.

Bir sütun hem varsayılan hem de ilişkili bir kural varsa, varsayılan değer kuralı ihlal gerekir değil.Bir kuralla çakışan varsayılan hiçbir saat eklenir, ve SQL Server bir hata iletisi, varsayılan ekleme girişiminde her saat oluşturur.

Ne zaman bir sütuna bağlı, varsayılan bir değer eklendiğinde:

  • Bir değer açıkça eklenmez.

  • DEFAULT VALUES ya da VARSAYıLAN anahtar sözcükleri bir INSERT varsayılan değerlerini eklemek için kullanılır.

NOT NULL bir sütun oluşturulurken belirtilir ve varsayılan için oluşturulmaz, sütunda bir giriş yapmak bir kullanıcı başarısız olduğunda hata iletisi oluşturulur.Aşağıdaki tablo tanım olarak NULL veya NOT NULL sütun varsayılan varlığını arasındaki ilişkiyi göstermektedir.Tablodaki girişler sonucu gösterir.

Sütun tanımı

Girdi, varsayılan

Girdi, varsayılan

NULL, varsayılan girin.

NULL, varsayılan girin.

NULL

null

Varsayılan

null

null

NOT NULL

Hata

Varsayılan

hata

hata

Varsayılan yeniden adlandırmak için kullanın. sp_rename.Varsayılan bir raporu için kullanın. sp_help.

İzinler

CREATE DEFAULT, en azından yürütmek için , bir kullanıcının geçerli veritabanında CREATE DEFAULT iznine ve ALTER iznine varsayılan oluşturulduğu şemada olmalıdır.

Örnekler

C.Basit bir karakteri varsayılan oluşturma

Aşağıdaki örnek, adı verilen varsayılan bir karakteri oluşturur. unknown.

b.Varsayılan bir bağlama

Aşağıdaki örnek A'ya örnekte oluşturulan varsayılan bağlar.Yalnızca giriş için belirtilmezse varsayılan etkili Phone sütun Contact Tablo. Herhangi bir girişi iptal etme NULL bir INSERT deyim içinde açıkça belirten gelen farklı olduğunu unutmayın.

Varsayılan adlı nedeni phonedflt , aşağıdaki yok Transact-SQL deyim başarısız olur. Bu, yalnızca gösterim amacıyla örneğidir.