Varsayılan bir kısıtlama eklemek için komut


82

Düz T-SQL kullanarak varsayılan bir sınırlama eklemenin en az iki yolu var gibi görünüyor. Aşağıdaki ikisi arasındaki tek farkın, ikinci yöntemin kısıtlama için özel olarak bir ad oluşturması ve ilk yöntemin SQL Server tarafından oluşturulmuş bir ad olması olduğunu doğru muyum?

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

Yanıtlar:


105

Hemen hemen, bir ALTER TABLE için evet

CREATE veya ALTER için de tek adımda varsayılan olan bir columnn ekleyebilirsiniz.

ALTER TABLE foo ADD bar varchar(100) CONSTRAINT DF_Foo_Bar DEFAULT ('bicycle')
ALTER TABLE foo ADD bar varchar(100) DEFAULT ('bicycle')

Sizin de belirttiğiniz gibi, sistem sağlanmadıysa bir ad üretir. CONSTRAINT constraint_nameisteğe bağlıdır, MSDN diyor. Aynısı herhangi bir sütun veya tablo için de geçerlidir SABİT

Düzenle Sütun zaten oluşturulmuşsa ve yalnızca kısıtlama eklemek istiyorsanız şunları kullanın:

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

3
DF_Foo_BarSütun zaten mevcut olsa bile bunun yerine oluşturulmuş bir ad kullanabilir miyim ?
slartidan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.