--删除数据库表数据  慎用
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

MSSQL 删除数据库表数据的更多相关文章

  1. mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享

    摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008 实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启 ...

  2. jmeter 获取数据库表数据作为参数

    jmeter - 获取数据库表数据作为参数 在jmeter中使用数据库表数据首先需要设置数据库连接,然后在创建JDBC取样器 1.创建配置元件 JDBC Connection Configuratio ...

  3. Django学习路5_更新和删除数据库表中元素

    查找所有的元素 Student.objects.all() 查找单个元素 Student.objects.get(主键=值) 主键 pk = xxx 更新数据库数据后进行保存 stu.save() 删 ...

  4. 工作随笔——mysql子查询删除原表数据

    最近在开发的时候遇到一个mysql的子查询删除原表数据的问题.在网上也看了很多方法,基本也是然并卵(不是写的太乱就是效率太慢). 公司DBA给了一个很好的解决方案,让人耳目一新. DELETE fb. ...

  5. MYSQL中delete删除多表数据

    MYSQL中delete删除多表数据 DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 1. delete from t1 where 条件 2.delete t1 ...

  6. --oracle删除数据库表(无主键)中重复的记录

    --oracle删除数据库表(无主键)中重复的记录 1,  CREATE TABLE newtable as SELECT distinct * FROM T_SYSTEM_MENU_PRIV; 2, ...

  7. sqlserver快速删除整个表数据

    --删除整个表数据 SET STATISTICS TIME ON; DECLARE @Timer DATETIME = GETDATE(); TRUNCATE TABLE LOG_DEBUG_ERRO ...

  8. Python--增量循环删除MySQL表数据

    需求场景: 有一业务数据库,使用MySQL 5.5版本,每天会写入大量数据,需要不定期将多表中“指定时期前“的数据进行删除,在SQL SERVER中很容易实现,写几个WHILE循环就搞定,虽然MySQ ...

  9. 【shell】定时删除DB2表数据

    使用db2的时候,有时候需要对表数据进行删除,防止数据太多,造成数据库空间满了 以下是一个定时删除表tmp,tm1中id为1的数据的脚本 #!/bin/sh ##------------------- ...

随机推荐

  1. DG重启之后主备数据不同步

    问题描述:本来配置好的DG第二天重启之后,发现主备库数据不能同步,在主库上执行日志切换以及创建表操作都传不到备库上,造成这种错误的原因是主库实例断掉后造成备库日志与主库无法实时接收 主库:orcl  ...

  2. numpy的基本API(四)——拼接、拆分、添加、删除

    numpy的基本拼接.拆分.添加.删除API iwehdio的博客园:https://www.cnblogs.com/iwehdio/ 1.np.concatenate((a, b), axis=0) ...

  3. 推荐一种非常好的新版DSP库源码移植方式,含V7,V6和V5的IAR以及MDK5的AC5和AC6版本

    说明: 1.新版CMSIS V5.6里面的DSP库比以前的版本人性化了好多. 2.本帖为大家分享一种源码的添加方式,之前一直是用的库方便,不方便查看源码部分. 3.DSP教程可以还看第1版的,在我们的 ...

  4. 关于css布局的记录(三) --布局实战

    1.经典布局,上头下尾,两侧固定,中间自适应 效果图: 实现代码(普通): <!DOCTYPE html> <html lang="en"> <hea ...

  5. python接口测试中常见的两种接口依赖处理方式

    一.请求体的字段依赖 这种情况多数是在当前测试的接口,它的前置接口的请求体中的字段要拿来在当前的接口请求体中继续使用,比如修改用户信息的接口,该接口会使用到用户名的字段,该字段是由创建用户时的请求体中 ...

  6. asp.net core中使用cookie身份验证

    配置 在 Startup.ConfigureServices 方法中,创建具有 AddAuthentication 和 AddCookie 方法的身份验证中间件服务: services.AddAuth ...

  7. python3装饰器用法示例

    装饰器在编写后台的逻辑时有可能会用到,比方说一个场景:公司的员工想要登录自己公司的考勤记录系统去修改自己的考勤,以前是随便谁都有权限去修改,这样老板不同意了,现在,要在你登录前加一个权限验证的逻辑,如 ...

  8. ionic项目打包+部署

    环境: 1.ionic 2.angular-cli  开发 1.CTRL C + CTRL V 2.图片路径的问题 使用‘assets/xxxxx.jpg’,而不使用‘../../assets/xxx ...

  9. 头条小视频和西瓜视频signature签名算法

    点击上方↑↑↑蓝字[协议分析与还原]关注我们 "分析今日头条内小视频和西瓜视频分享后浏览器打开所用的signature签名算法." 上月写的一篇关于使用微信的wxid加好友的文章, ...

  10. Redis配置文件详解(redis.conf)

    # vi redis.conf   daemonize yes #是否以后台进程运行 pidfile /var/run/redis/redis-server.pid    #pid文件位置 port ...