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. WITHVALUES--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 语句:只有当列是可空的,并且你希望对现有记录使用默认值时,才需要 WITH VALUES。如果列是 NOT NULL,则无论是否指定 WITH VALUES,都会自动对所有现有记录使用默认值。
-- 删除列 IF EXISTS ( SELECT1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='table_Emplyee' AND COLUMN_NAME ='Column_EmployeeName' ) BEGIN
IF EXISTS ( SELECT1 FROM sys.default_constraints WHERE object_id = OBJECT_ID('[dbo].[DF_table_Emplyee_Column_EmployeeName]') AND parent_object_id = OBJECT_ID('[dbo].[table_Emplyee]') ) BEGIN ALTER TABLE [dbo].[table_Emplyee] DROPCONSTRAINT [DF_table_Emplyee_Column_EmployeeName] PRINT '[DF_table_Emplyee_Column_EmployeeName] was dropped' END ALTER TABLE [dbo].table_Emplyee DROPCOLUMN Column_EmployeeName PRINT 'Column Column_EmployeeName in images table was dropped' END
-- 添加列 IF NOTEXISTS ( SELECT1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='table_Emplyee' AND COLUMN_NAME ='Column_EmployeeName' ) BEGIN ALTER TABLE dbo.table_Emplyee ADD Column_EmployeeName BIT NOT NULL CONSTRAINT [DF_table_Emplyee_Column_EmployeeName] DEFAULT (0) PRINT 'Column [DF_table_Emplyee_Column_EmployeeName] in table_Emplyee table was Added' PRINT 'Contraint [DF_table_Emplyee_Column_EmployeeName] was Added' END