循环删除外键约束
Posted rovedog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了循环删除外键约束相关的知识,希望对你有一定的参考价值。
SQL删除,有外键约束常常不能删除,需要先删除外键
--/***********PowerBy:rovedog ***************/ --/第1步**********删除所有表的外键约束*************************/ DECLARE c1 CURSOR FOR SELECT ‘alter table [‘+ object_name(parent_obj) + ‘] drop constraint [‘+name+‘]; ‘ FROM sysobjects WHERE xtype = ‘F‘ OPEN c1 DECLARE @c1 varchar(8000) FETCH NEXT FROM c1 INTO @c1 WHILE (@@fetch_status=0) BEGIN EXEC (@c1) FETCH NEXT FROM c1 INTO @c1 END CLOSE c1 DEALLOCATE c1 --/第2步**********删除所有表*************************/ DECLARE @sql varchar(8000) WHILE (select count(*) FROM sysobjects WHERE type=‘U‘)>0 BEGIN SELECT @sql=‘drop table [‘ + name+‘]‘ FROM sysobjects WHERE (type = ‘U‘) ORDER BY ‘drop table [‘ + name+‘]‘ EXEC (@sql) END
常常在PD中设置如下
以上是关于循环删除外键约束的主要内容,如果未能解决你的问题,请参考以下文章