Команда для додавання обмеження за замовчуванням


82

Здається, існує принаймні два способи додати обмеження за замовчуванням за допомогою прямого T-SQL. Чи правильно я розумію, що єдина різниця між двома наведеними нижче полягає в тому, що другий метод спеціально створює ім'я для обмеження, а перший метод має такий, що генерується SQL Server?

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

Відповіді:


105

В значній мірі, так, для ЗМІННИЙ СТОЛ

Ви можете додати стовпчик з типовим значенням за один крок для CREATE або ALTER.

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

Як ви зазначали, система генерує ім'я, якщо воно не вказане. CONSTRAINT constraint_nameнеобов’язково - говорить MSDN. Те саме стосується будь-якого стовпця або таблиці CONSTRAINT

Редагувати Якщо стовпець уже створений, і ви хочете лише додати обмеження використання:

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

3
Чи можу я використовувати згенеровану назву замість DF_Foo_Bar, навіть якщо стовпець уже існує?
slartidan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.