SQL Server (Transact-SQL) DEFAULT 约束用于设置列的默认值。当插入新记录而不指定任何值时,该列将采用默认值。

SQL Server CREATE TABLE DEFAULT 约束

下面提到的语句创建一个名为 Employee 的表,其中包含五列:EmpID 、Name、City、Age 和 Salary,其中 DEFAULT 约束应用于列 City我>。

CREATE TABLE Employee (
  EmpID INT NOT NULL,
  Name VARCHAR(255),
  City VARCHAR(100) DEFAULT 'London',
  Age INT,
  Salary DECIMAL(18,2)
); 

DEFAULT 约束也可用于插入系统值,方法是使用 CURRENT_TIMESTAMP 等函数:

CREATE TABLE Orders (
  OrderID INT NOT NULL,
  OrderQuantity INT NOT NULL,
  OrderPrice DECIMAL(18,2),
  OrderDate DATETIME DEFAULT CURRENT_TIMESTAMP
); 

SQL Server ALTER TABLE  DEFAULT 约束

在在上面的示例中,创建了一个名为 Employee 的表。要对 City 列强制执行 DEFAULT 约束,语句如下:

/* 强制名为DV_City的DEFAULT约束 */
ALTER TABLE Employee
ADD CONSTRAINT DV_City
DEFAULT 'London' FOR City; 

DROP DEFAULT 约束

从名为 Employee 的表中删除 DEFAULT 约束,声明如下:

/* 删除名为DV_City的DEFAULT约束 */
ALTER TABLE Employee
DROP CONSTRAINT DV_City;