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引用,那么该表是参考表,或 ...
随机推荐
- sql按中文数字排序
有表4张 建表和插入数据sql DECLARE @p_Building TABLE ( id INT , BidName ) ); DECLARE @p_Room TABLE ( id INT , R ...
- MathQuill.js
MathQuill.js通过html.css.javascript实现数学公式 <p>Type math here: <span id="math-field"& ...
- CentOS6.5(4)----宿主机无法访问虚拟机中的web服务解决方案
宿主机无法访问虚拟机中的web服务 在Windows7宿主机中的VMware虚拟机中安装了CentOS6.5操作系统,并且基于Nginx搭建了Web服务器,网页刚刚搭建好的时候,通过宿主机的浏览器可以 ...
- 在GitHub上删除项目后,在Android Studio上传项目依然提示project is already on github
描述: 在GitHub上面上传项目,但是感觉有些问题,就想删除了重新上传. 但是在Android Studio重新上传项目时,遇到了问题,一直提示“project is already on gith ...
- 闭包&执行环境和作用域
闭包 执行环境和作用域参考:<javascript高级程序设计(第3版)>4.2节
- C#中的特殊数据类型
一.c#中的特殊数据类型 C#中特殊数据类型有class类型.结构类型.数组类型.枚举类型.集合类型.委托类型.事件.Lambda表达式.接口类型. 1.class类型 1.1类定义 class St ...
- C/C++内存对齐 ZZ
这篇文章写得非常深入浅出.推荐.图需要到原博看. http://songlee24.github.io/2014/09/20/memory-alignment/ 下面是网易的一道笔试题:struct ...
- [翻译] TWRPickerSlider
TWRPickerSlider https://github.com/chasseurmic/TWRPickerSlider Usage Add the dependency to your Podf ...
- oracle sql练习 菜鸟入门!
进入公司 ,首先是进行SQL培训 一下是针对oracle的emp与dept表进行的基础查询 --1.选择部门30中的所有员工: ; --2.列出所有办事员(CLERK)的姓名,编号和部门编号: sel ...
- [EffectiveC++]item06:若不想使用编译器自动生成的函数,就该明确决绝