我使用脚本在表上创建了一些约束,但未指定约束名称。结果,我最终遇到了类似FK__DOC_OBGS___kntr___54E63309的限制。
FK__DOC_OBGS___kntr___54E63309
是否可以在不指定确切约束名称的情况下删除该约束?
例如,类似这样的东西(不起作用)
ALTER TABLE DOC_OBGS_10 DROP CONSTRAINT LIKE 'FK__DOC_OBGS___kntr%'
问题是我们有很多与此表相关的数据库,我需要从表中删除所有约束,但是显然每个表的名称都不同。
DECLARE @sql1 NVARCHAR(MAX); SELECT @sql1 = c FROM ( SELECT 'ALTER TABLE DOC_INVS_1 DROP CONSTRAINT ' + CONSTRAINT_NAME + '; ' FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = 'DOC_INVS_1' and CONSTRAINT_NAME LIKE 'FK__DOC_INVS___kntr%' ) T(c); EXEC(@sql1);