2010-11-29 20 views
64

Düz T-SQL kullanarak varsayılan kısıtlama eklemek için en az iki yol var gibi görünüyor. Aşağıdaki iki arasındaki tek farkın, ikinci yöntemin özellikle kısıtlama için bir ad oluşturması ve ilk yöntemin SQL Server tarafından oluşturulmuş olduğunu düzeltir miyim? Sen CREATE veya çok ALTER için tek adımda varsayılan bir Sütunlar ekleyebilir evet bir ALTER TABLEVarsayılan kısıtlama ekleme komutu

için hemen hemen

ALTER TABLE [Common].[PropertySetting] ADD DEFAULT ((1)) FOR [Active]; 
ALTER TABLE [Common].[PropertySetting] ADD CONSTRAINT [DF_PropertySetting_Active) DEFAULT ((1)) FOR [Active]; 

cevap

85

. Belirtildiği gibi, sistem tedarik edilmediğinde bir isim üretir. CONSTRAINT constraint_name isteğe bağlıdır, MSDN diyor. Aynı herhangi column veya table SINIRLAMA için geçerlidir

Düzenleme sütun zaten oluşturulmuş ve yalnızca kısıt kullanımını eklemek istediğiniz ise:

ALTER TABLE TableName ADD CONSTRAINT DF_Foo_Bar DEFAULT 'bicycle' FOR FieldName; 
+2

Ben DF_Foo_Bar 'yerine oluşturulan adı kullanabilir miyim 'sütun zaten mevcut olsa bile? – slartidan