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;