Синтаксис:
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 за техните коментари.