码上敲享录 > sqlserver实战经验分享 > sqlserver删除一张表的所有外键约束

sqlserver删除一张表的所有外键约束

上一章章节目录下一章 2018-04-25已有2246人阅读 评论(0)

sqlserver删除一张表的所有外键约束

解决方法:

复制以下代码,修改表名,并执行即可

declare @a int,@error int    

   declare @temp varchar(50)

   set @a=1

   set @error=0

   --申明游标为Uid

   declare order_cursor cursor

   for (select  name

from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id

where f.parent_object_id=object_id('表名'))

   --打开游标--

   open order_cursor

   --开始循环游标变量--

   fetch next from order_cursor into @temp

   while @@FETCH_STATUS = 0    --返回被 FETCH语句执行的最后游标的状态--

       begin            

        exec ('alter table ACT_RU_EXECUTION drop constraint '+@temp)  

           set @a=@a+1

           set @error= @error + @@ERROR   --记录每次运行sql后是否正确,0正确

           fetch next from order_cursor into @temp   --转到下一个游标,没有会死循环

       end    

   close order_cursor  --关闭游标

   deallocate order_cursor   --释放游标

SELECT @a;

本文地址:http://www.yayihouse.com/yayishuwu/chapter/1201

1

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交