--删除数据库表数据  慎用
create PROCEDURE sp_DeleteAllData
AS
declare @tblName nvarchar(50)
declare @sNOCHECKCONSTRAINT nvarchar(500)
declare @sDISABLETRIGGER nvarchar(500)
declare @sDeleteTable nvarchar(500)
declare @sCHECKCONSTRAINT nvarchar(500)
declare @sENABLETRIGGER nvarchar(500) begin try
begin tran
-- 失效索引,触发器
declare tb cursor for select name from sys.sysobjects where xtype='U' and category=0
open tb
fetch next from tb into @tblName
while @@fetch_status=0
begin
set @sNOCHECKCONSTRAINT ='ALTER TABLE ' + @tblName+ ' nocheck CONSTRAINT ALL'
set @sDISABLETRIGGER ='ALTER TABLE ' + @tblName+ ' DISABLE TRIGGER ALL'
EXEC sp_MSForEachTable @sNOCHECKCONSTRAINT
EXEC sp_MSForEachTable @sDISABLETRIGGER
fetch next from tb into @tblName
end
close tb
deallocate tb
-- 删除数据
declare tb1 cursor for select name from sys.sysobjects where xtype='U' and category=0
open tb1
fetch next from tb1 into @tblName
while @@fetch_status=0
begin
set @sDeleteTable ='delete from ' + @tblName
EXEC sp_MSForEachTable @sDeleteTable
print '删除数据表'+@tblName +'完成'
fetch next from tb1 into @tblName
end
close tb1
deallocate tb1
--恢复索引,触发器
declare tb2 cursor for select name from sys.sysobjects where xtype='U' and category=0
open tb2
fetch next from tb2 into @tblName
while @@fetch_status=0
begin
set @sCHECKCONSTRAINT ='ALTER TABLE ' + @tblName+ ' check CONSTRAINT ALL'
set @sENABLETRIGGER ='ALTER TABLE ' + @tblName+ ' ENABLE TRIGGER ALL'
EXEC sp_MSForEachTable @sCHECKCONSTRAINT
EXEC sp_MSForEachTable @sENABLETRIGGER
fetch next from tb2 into @tblName
end
close tb2
deallocate tb2
commit tran
end try
begin catch
rollback
end catch
GO

最新文章

  1. linux iptables常用命令之配置生产环境iptables及优化
  2. MySQL复制配置(多主一从)
  3. 关闭Android/iPhone浏览器自动识别数字为电话号码
  4. [问题2014S07] 复旦高等代数II(13级)每周一题(第七教学周)
  5. 使用NodeJS将XML解析成JSON及性能比较
  6. python-转换成exe文件(py2exe)
  7. 解决sencha touch显示.JSON包含中文数据时显示乱码问题
  8. Android粘贴板的运用
  9. HTML5 API 浏览器支持情况检测
  10. [Twisted] deferred
  11. 32G sd卡格式化成fat
  12. js 去掉空格
  13. MySQL关联查询总结
  14. tomcat的事件监听
  15. Sublime text 3编辑python时出现方框的解决办法
  16. [离散时间信号处理学习笔记] 8. z逆变换
  17. swap的实现(没有中间变量)
  18. serlvet中的过滤器filter
  19. MCS-51 单片机的中断系统
  20. python-day43--多表查询

热门文章

  1. (办公)记事本_Linux帮助命令
  2. 参加杭州 2019 AI Bootcamp有感与总结(2)
  3. 通过Ajax的访问zuul的跨域问题解决方案
  4. 数据库查询性能 LinqDB vs Sql查询
  5. WPF之实现控件内容拖动
  6. MySQL的表定义语法
  7. mysql 写入中文乱码
  8. Angular + Leaflet 实现房源数据可视化(附github源码)
  9. Tornado 框架
  10. Where is the kernel documentation?; Ubuntu 上如何安装 linux 内核文档;fedora 上如何安装linux内核文档?