---启用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 : 是否已禁用
--删除外键
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;
外键(启用、禁用、增加、删除)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 每年到这个时候,身边就会有很多人开始咳嗽、咳痰、流鼻涕、打喷嚏的,有些是感冒、有些是哮喘、有些是气管炎,有些的鼻炎...
- 约束是在数据库中维护数据一致性的重要工具。但有时候约束也会带来一些问题。 问题叙述 创建课程表 当你想要创建这样一...