码迷,mamicode.com
首页 > 数据库 > 详细

Sql Server有主外键关系时添加、删除数据

时间:2017-09-30 13:10:29      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:foreign   check   from   删除   select   pre   key   comm   ble   

当表之间有主外键关系时删除数据会被约束,添加、删除失败

解决办法,我们可以先把主外键关系的检查约束给关掉 → 然后删除数据 → 之后再把约束打开

查询出关掉所有外键约束的语句

SELECT 
ALTER TABLE  + O.NAME +  NOCHECK CONSTRAINT [ + F.NAME + ]; AS COMMAND 
FROM 
SYS.FOREIGN_KEYS F INNER JOIN SYS.ALL_OBJECTS O ON F.PARENT_OBJECT_ID = O.OBJECT_ID 
WHERE O.TYPE = U AND F.TYPE = F;

查询出开启所有外键约束的语句,与上面的区别是将 NOCHECK 改为 CHECK

SELECT 
ALTER TABLE  + O.NAME +  CHECK CONSTRAINT [ + F.NAME + ]; AS COMMAND 
FROM 
SYS.FOREIGN_KEYS F INNER JOIN SYS.ALL_OBJECTS O ON F.PARENT_OBJECT_ID = O.OBJECT_ID 
WHERE O.TYPE = U AND F.TYPE = F;

 

Sql Server有主外键关系时添加、删除数据

标签:foreign   check   from   删除   select   pre   key   comm   ble   

原文地址:http://www.cnblogs.com/ideacore/p/7614472.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!