删除数据库所有table的资料之一

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 12:34 点击:
--禁所有外鍵的語句 
select  'ALTER TABLE ['  + b.name +  '] NOCHECK CONSTRAINT [' +  a.name +'];'   
from  sysobjects  a ,sysobjects  b     
where  a.xtype ='f' and  a.parent_obj = b.id 
--or 
select  'ALTER TABLE ['  + name +  '] NOCHECK CONSTRAINT  all '  
from  sysobjects  a  
where  a.xtype ='u'  
 
--禁所有觸發器的語句 
select  'ALTER TABLE ['  + name +  '] DISABLE  TRIGGER  all '  
from  sysobjects  a  
where  a.xtype ='u'  
 
 
 
 
--刪除所有表資料 
/* 
select  'TRUNCATE TABLE   ['  + a.name +  '] '   
from  sysobjects  a  
where  a.xtype ='u' 
*/  
--因為要加GO,在一個語句裡解決不了。 
declare @name varchar(100) 
declare cur cursor  for 
    select name from sysobjects where xtype='u' order by name 
open cur 
fetch next from cur into @name 
while @@fetch_status=0 
begin 
     
    print 'TRUNCATE TABLE   ['  +@name +  '] '   
    print 'GO' 
 
    fetch next from cur into @name 
end 
close cur 
deallocate cur 
 
 
/* 
select  'DELETE   ['  + a.name +  '] ' 
from  sysobjects  a  
where  a.xtype ='u'  
*/ 
--還是加Go的更好用。中間一個出錯了也沒有關系 
declare @name varchar(100) 
declare cur cursor  for 
    select name from sysobjects where xtype='u' order by name 
open cur 
fetch next from cur into @name 
while @@fetch_status=0 
begin 
     
    print 'DELETE    ['  +@name +  '] '   
    print 'GO' 
 
    fetch next from cur into @name 
end 
close cur 
deallocate cur 
 
 
 
--開啟所有外鍵的語句 
select  'ALTER TABLE [' + b.name +  '] CHECK CONSTRAINT [' +  a.name +'];'   
from  sysobjects  a ,sysobjects  b     
where  a.xtype ='f' and  a.parent_obj = b.id 
or 
select  'ALTER TABLE ['  + name +  '] CHECK CONSTRAINT  all '  
from  sysobjects  a  
where  a.xtype ='u'  
 
----開啟所有觸發器的語句 
select  'ALTER TABLE ['  + name +  '] enable  TRIGGER  all '  
from  sysobjects  a  
where  a.xtype ='u'  
 
 
--所有identity表復原為1的語句 
select  'dbcc checkident(['+name+'],reseed ,0) ' 
from  sysobjects  a  
where  a.xtype ='u'  and objectproperty(id,'TableHasIdentity')=1 
 
 
--重建所有索引 
 
select  'dbcc DBREINDEX(['+name+']) '&nbs
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • sql常见面试题
    • SQL SERVER 2005性能之跟踪
    • SQL编程(一)
    • LINUX上RMAN自动备份脚本
    • sql server面试题
    • 如何将多个SQL查询统计结果一次显示出来
    • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
    • sql server 列转行
    • SQL小技巧系列 --- 行转列合并
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1