用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
yls087412的公告
<div align="center"> <embed src="http://www.clocklink.com/clocks/0001-Blue.swf?TimeZone=GMT0800&" width="120" height="120" align="center" wmode="transparent" type="application/x-shockwave-flash"> </div>
文章分类
存档

转载  禁用启用数据库外键约束 收藏

-- =====================================================
--
删除数据库中的所有数据(通过禁用约束)
--
不好的地方在于如果本身有已经禁用的约束,执行这个后会开启它

-- 邹建 2005.09(引用请保留此信息)
--
=====================================================
--
禁用所有约束
EXEC sp_msforeachtable
   
@command1=N'ALTER TABLE ? NOCHECK CONSTRAINT ALL'

-- 删除无外键约束的表中的数据
EXEC sp_msforeachtable
   
@command1=N'TRUNCATE TABLE ?',
   
@whereand=N'AND NOT EXISTS(
                    SELECT rkeyid FROM dbo.sysforeignkeys
                    WHERE rkeyid=O.id)
                AND EXISTS(
                    SELECT rows FROM dbo.sysindexes
                    WHERE id=O.id
                        AND rows>0
                        AND indid<2)
'

-- 删除有外键约束的表中的数据
EXEC sp_msforeachtable
   
@command1=N'DELETE ?',
   
@whereand=N'AND EXISTS(
                    SELECT rows FROM dbo.sysindexes
                    WHERE id=O.id
                        AND rows>0
                        AND indid<2)
'

-- 启用所有约束
EXEC sp_msforeachtable
   
@command1=N'ALTER TABLE ? CHECK CONSTRAINT ALL'

发表于 @ 2008年10月25日 11:04:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:sqlserver错误状态 | 新一篇:Invoking CLR User-Defined Aggregate Functions

  • 发表评论
  • 评论内容:
  •  
Copyright © yls087412
Powered by CSDN Blog