有的时候我们需要清空数据库中的所有数据,这时候外键约束就是一个很麻烦的事情了,因为有外键在,所以在清除的时候必须得按外键顺序来清除,如果我们能临时禁用一下外键,那就方便的多了。
--获得禁用所有外键约束的语句
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
以上只是获得了禁用与启用的语句,怎么执行就看读者自己了。0<