SQLServer禁用、启用外键约束
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
---启用or禁用指定表所有外键约束 alter table PUB_STRU NOCHECK constraint all ; alter table PUB_STRU CHECK constraint all ; ---生成启用or禁用指定表外键约束的sql select 'ALTER TABLE ' + b. name + ' NOCHECK CONSTRAINT ' + a. name + ';' from sysobjects a ,sysobjects b where a.xtype = 'f' and a.parent_obj = b.id and b. name = '表名' ; select 'ALTER TABLE ' + b. name + ' CHECK CONSTRAINT ' + a. name + ';' from sysobjects a ,sysobjects b where a.xtype = 'f' and a.parent_obj = b.id and b. name = '表名' ; --生成的sql如下 ALTER TABLE PUB_STRU NOCHECK CONSTRAINT PUBSTRU_FK1; ALTER TABLE PUB_STRU NOCHECK CONSTRAINT PUBSTRU_FK2; ALTER TABLE PUB_STRU CHECK CONSTRAINT PUBSTRU_FK1; ALTER TABLE PUB_STRU CHECK CONSTRAINT PUBSTRU_FK2; --查看约束状态(查询字典表 sys.foreign_keys,该字典表开始出现于sqlserver2005及以上版本): select name , is_disabled from sys.foreign_keys order by name ; --其中:name : 外键约束名称 is_disabled : 是否已禁用 |
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
--删除外键 alter table AdItem drop constraint AdOrder_AdItem_FK1 --增加外键 alter table AdItem add constraint AdOrder_AdItem_FK1 foreign key (AI_nOrderNo) references AdOrder(AO_nOrderNo) --单个表的一个外键 alter table Student nocheck constraint FK__Student__SchoolN__4222D4EF alter table Student check constraint FK__Student__SchoolN__4222D4EF --单个表的所有外键 alter table Student nocheck constraint all alter table Student check constraint all --某个数据库的所有表 EXEC sp_MSforeachtable @command1= 'alter table ? NOCHECK constraint all; EXEC sp_MSforeachtable @command1=' alter table ? CHECK constraint all ; |
参考:
Enable/Disable Constraint in SQLServer sp_MSforeachtable使用方法
--启用or禁用指定表所有外键约束 alter table PUB_STRU NOCHECK constraint all ; alter table PUB_STRU CHECK constraint all ; ---生成启用or禁用指定表外键约束的sql select 'ALTER TABLE ' + b. name + ' NOCHECK CONSTRAINT ' + a. name + ';' from sysobjects a ,sysobjects b where a.xtype = 'f' and a.parent_obj = b.id and b. name = '表名' ; select 'ALTER TABLE ' + b. name + ' CHECK CONSTRAINT ' + a. name + ';' from sysobjects a ,sysobjects b where a.xtype = 'f' and a.parent_obj = b.id and b. name = '表名' ; --生成的sql如下 ALTER TABLE PUB_STRU NOCHECK CONSTRAINT PUBSTRU_FK1; ALTER TABLE PUB_STRU NOCHECK CONSTRAINT PUBSTRU_FK2; ALTER TABLE PUB_STRU CHECK CONSTRAINT PUBSTRU_FK1; ALTER TABLE PUB_STRU CHECK CONSTRAINT PUBSTRU_FK2; --查看约束状态(查询字典表 sys.foreign_keys,该字典表开始出现于sqlserver2005及以上版本): select name , is_disabled from sys.foreign_keys order by name ; --其中:name : 外键约束名称 is_disabled : 是否已禁用 |
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
--删除外键 alter table AdItem drop constraint AdOrder_AdItem_FK1 --增加外键 alter table AdItem add constraint AdOrder_AdItem_FK1 foreign key (AI_nOrderNo) references AdOrder(AO_nOrderNo) --单个表的一个外键 alter table Student nocheck constraint FK__Student__SchoolN__4222D4EF alter table Student check constraint FK__Student__SchoolN__4222D4EF --单个表的所有外键 alter table Student nocheck constraint all alter table Student check constraint all --某个数据库的所有表 EXEC sp_MSforeachtable @command1= 'alter table ? NOCHECK constraint all; EXEC sp_MSforeachtable @command1=' alter table ? CHECK constraint all ; |
参考:
Enable/Disable Constraint in SQLServer sp_MSforeachtable使用方法
SQLServer禁用、启用外键约束的更多相关文章
- [转] SQL Server 批量 停用/启用 外键约束
本文转自:http://hi.baidu.com/wangzhiqing999/item/ca699308de4f1ff9a1103429 今天百度知道上面,看到这样一个要求: 现在有一个库,有很多张 ...
- mysql关闭/启用外键约束
1.有时为了导入数据方便,需要临时关闭外键约束mysql>SET FOREIGN_KEY_CHECKS=0; 2.打开外键约束mysql>SET FOREIGN_KEY_CHECKS=1; ...
- mssql禁用启用主键约束
EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' --禁用 EXEC sp_msforeachtable 'ALTER TA ...
- SQL Server 临时禁用和启用所有外键约束(高版本向低版本迁移数据)
--获得禁用所有外键约束的语句 select 'ALTER TABLE [' + b.name + '] NOCHECK CONSTRAINT ' + a.name +';' as 禁用约束 from ...
- oracle 删除外键约束 禁用约束 启用约束
oracle 删除外键约束 禁用约束 启用约束 执行以下sql生成的语句即可 删除所有外键约束 Sql代码 select 'alter table '||table_name||' drop con ...
- MySQL删除所有表的外键约束、禁用外键约束
转: MySQL删除所有表的外键约束.禁用外键约束 2017年10月27日 00:11:34 李阿飞 阅读数:4512 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...
- oracle 禁用外键约束
1.ORACLE数据库中的外键约束名都在表user_constraints中可以查到.其中constraint_type='R'表示是外键约束.2.启用外键约束的命令为:alter table tab ...
- (转载)MySQL删除所有表的外键约束、禁用外键约束
其实如果想删除所有表可以直接如下操作: 在navicat中直接选中所有表,然后右键删除表即可,会有提示,一路确定,就会先删掉没有外键的表和字表,只要一路确定,删几批就把表都删完了,并不算太麻烦. 转: ...
- Constraint6:更新外键约束(Foreign Key Constraint)的引用列
在SQL Server中,表之间存在引用关系,引用关系通过创建外键约束(Foreign Key Constraint)实现.如果一个Table中的column被其他Table引用,那么该表是参考表,或 ...
随机推荐
- ArcGISPlotSilverlightAPI For WPF
这两天有个需求,在地图上做标绘箭头,效果如下图. Arcgis for WPF 10.2.5.0版本,然而官方文档中没有这种API,自己去写一个呢,又感觉无从下手.无奈去网上搜索了一下,发现一篇好文: ...
- CSS background 属性详解
CSS background Property 语法: background: bg-color bg-image position/bg-size bg-repeat bg-origin bg-cl ...
- Vue实例对象的数据选项(火柴)
前言 一般地,当模板内容比较简单的时候,使用data选项配合表达式即可.涉及到复杂逻辑时,则需要用到methods.computed.watch等方法.本文将详细介绍Vue实例对象的数据选项. dat ...
- 如何对iPhone进行屏幕录像
如何对iPhone进行屏幕录像 录制时候的效果: 1. 打开QuickTime Player 2. 在文件中新建影片录制 3. 然后酱紫录制
- Python学习---深入编码学习1225
1.1. Python2 Py2中只有2中数据类型,Str和Unicode,而且str中保存的是bytes,Unicode中保存的是unicode 一切我们能看到的明文都是unicode数据类型, b ...
- 乘风破浪:LeetCode真题_014_Longest Common Prefix
乘风破浪:LeetCode真题_014_Longest Common Prefix 一.前言 如何输出最长的共同前缀呢,在给定的字符串中,我们可以通过笨办法去遍历,直到其中某一个字符不相等了,这样就得 ...
- Analysis of Algorithms
算法分析 Introduction 有各种原因要求我们分析算法,像预测算法性能,比较不同算法优劣等,其中很实际的一条原因是为了避免性能错误,要对自己算法的性能有个概念. 科学方法(scientific ...
- Redis的数据类型及其常用命令
快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...
- Id vs Instancetype
我写了一篇 Id vs Instancetype的文章,欢迎访问!
- 左右值无限级分类 MVC + EntityFramework 的简单实现
在度娘上查了大半个月的资料,最后发现每个网友分享的文章都有一定的错误(PS:大家是故意的么?).最后是在看了一个ASP版本后知道了大概流程:看了一个存储过程实现的文章后知道了大概需要的功能:看了一个S ...