T-SQL 如果存在则删除多个约束
T-SQL Drop multiiple constraints if exists
如何将其应用于来自不同表的多个约束:
IF (OBJECT_ID('DF_Constraint') IS NOT NULL)
BEGIN
ALTER TABLE [dbo].[tableName]
DROP CONSTRAINT DF_Constraint
END
像这样对我不起作用:
IF (OBJECT_ID('DF_Constraint') IS NOT NULL)
AND (OBJECT_ID('DF_Constraint2') IS NOT NULL)
BEGIN
ALTER TABLE [dbo].[tableName] DROP CONSTRAINT DF_Constraint;
ALTER TABLE [dbo].[tableName2] DROP CONSTRAINT DF_Constraint2;
END
尝试这样的事情:
IF OBJECT_ID('DF_Constraint') IS NOT NULL
ALTER TABLE [dbo].[tableName] DROP CONSTRAINT DF_Constraint;
IF OBJECT_ID('DF_Constraint2') IS NOT NULL
ALTER TABLE [dbo].[tableName2] DROP CONSTRAINT DF_Constraint2;
这样您就可以删除每个存在的约束(您不需要同时拥有两个约束来删除每个约束)。
如何将其应用于来自不同表的多个约束:
IF (OBJECT_ID('DF_Constraint') IS NOT NULL)
BEGIN
ALTER TABLE [dbo].[tableName]
DROP CONSTRAINT DF_Constraint
END
像这样对我不起作用:
IF (OBJECT_ID('DF_Constraint') IS NOT NULL)
AND (OBJECT_ID('DF_Constraint2') IS NOT NULL)
BEGIN
ALTER TABLE [dbo].[tableName] DROP CONSTRAINT DF_Constraint;
ALTER TABLE [dbo].[tableName2] DROP CONSTRAINT DF_Constraint2;
END
尝试这样的事情:
IF OBJECT_ID('DF_Constraint') IS NOT NULL
ALTER TABLE [dbo].[tableName] DROP CONSTRAINT DF_Constraint;
IF OBJECT_ID('DF_Constraint2') IS NOT NULL
ALTER TABLE [dbo].[tableName2] DROP CONSTRAINT DF_Constraint2;
这样您就可以删除每个存在的约束(您不需要同时拥有两个约束来删除每个约束)。