我维护的产品安装在多个位置,但被随意升级。许多表中添加了唯一约束,但我不知道任何特定实例的名称是什么。我所知道的是具有唯一约束的表/列名对,我想编写一个脚本来删除这些列/表组合上的任何唯一约束。
这是 SQL Server 2000 及更高版本。在 2000/2005/2008 上运行的东西是最好的!
最佳答案
此脚本将生成一个 ALTER TABLE..... DROP CONSTRAINT....
命令列表,然后您可以复制+粘贴并执行(或根据需要在执行之前进行调整)删除所有唯一约束/唯一索引:
SELECT
'ALTER TABLE ' + OBJECT_NAME(so.parent_obj) + ' DROP CONSTRAINT ' + so.name
FROM sysobjects so
WHERE so.xtype = 'UQ'
我希望它适用于从 2000 到 2008 R2 的所有 SQL Server 版本。
关于sql - 我需要删除一个我不知道名称的独特约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3001103/