Синтаксис:
ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES
Пример:
ALTER TABLE SomeTable
ADD SomeCol Bit NULL --Or NOT NULL.
CONSTRAINT D_SomeTable_SomeCol --When Omitted a Default-Constraint Name is autogenerated.
DEFAULT (0)--Optional Default-Constraint.
WITH VALUES --Add if Column is Nullable and you want the Default Value for Existing Records.
Бележки:
Име на ограничение по избор:
Ако пропуснете CONSTRAINT D_SomeTable_SomeCol тогава SQL Server автоматично ще генерира
ограничение по подразбиране със забавно име като:DF__SomeTa__SomeC__4FB7FEF6
Изявление със стойности по избор: WITH VALUES е необходимо само когато колоната ви е с нулева стойност
и искате стойността по подразбиране да се използва за съществуващи записи.
Ако колоната ви е NOT NULL , то автоматично ще използва стойността по подразбиране
за всички съществуващи записи, независимо дали сте посочили WITH VALUES или не.
Как работят вмъкванията с ограничение по подразбиране:
Ако вмъкнете запис в SomeTable и нене Посочете SomeCol стойността на ', тогава тя ще бъде по подразбиране на 0 .
Ако вмъкнете запис и Посочете SomeCol Стойността на NULL (и колоната ви позволява нулеви стойности),
, тогава ограничението по подразбиране не се използва и NULL ще бъде вмъкнат като стойност.
Бележките са базирани на страхотните отзиви на всички по-долу.
Специални благодарности на:
@Yatrix, @WalterStabosz, @YahooSerious и @StackMan за техните коментари.