Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Добавете колона със стойност по подразбиране към съществуваща таблица в SQL Server

Синтаксис:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как автоматично да генерирам уникален идентификатор в SQL като UID12345678?

  2. Как да дефинирате първичен ключ за автоматично увеличение в SQL Server

  3. Начини за възстановяване на данни от регистрационния файл на транзакциите на SQL Server

  4. Как да комбинирате резултатите от две заявки в един набор от данни

  5. Как да активирате XPs на агент на SQL Server с помощта на T-SQL