SQL SERVER 2008 禁用或启用外键约束

来源:互联网 发布:php 获取当前地区 编辑:程序博客网 时间:2024/05/19 13:44

---启用or禁用指定表所有外键约束
alter table KM_FINANCE_COST_TYPE  NOCHECK constraint all;
alter table  KM_FINANCE_COST_TYPE CHECK constraint all;


--生成禁用所有外键约束的语句

select 'ALTER TABLE [' + b.name + '] NOCHECK CONSTRAINT ' + a.name +';' as 禁用约束
from sysobjects a ,sysobjects b
where a.xtype ='f' and a.parent_obj = b.id


--生成启用所有外键约束的语句
select 'ALTER TABLE [' + b.name + '] CHECK CONSTRAINT ' + a.name +';' as 启用约束
from sysobjects a ,sysobjects b
where a.xtype ='f' and a.parent_obj = b.id


--查看约束状态(查询字典表 sys.foreign_keys,该字典表开始出现于sqlserver2005及以上版本):
select name , is_disabled from sys.foreign_keys order by name;

其中:

name : 外键约束名称

is_disabled : 是否已禁用



0 0