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;

这样您就可以删除每个存在的约束(您不需要同时拥有两个约束来删除每个约束)。