专栏首页晓晨的专栏Sql Server利用游标批量清空数据表

Sql Server利用游标批量清空数据表

先吐槽一下,由于公司要为新客户部署一个全新的系统,然而公司并没有空库,所以只能把正在线上运行的数据库给备份,然后清空相关数据

下面分享一下我在做清空数据库时写的一个批量清空数据表的方法

思路:查询出该库下的所有表 根据表名(系统相关数据表取名都是有规律的)筛选出需要清空的表

下面,上代码

 1 USE [DataBase]
 2 GO
 3 DECLARE @name varchar(50)
 4 DECLARE @count int
 5 set @count=0
 6 DECLARE contact_cursor CURSOR FOR
 7 select name from sysobjects 
 8 where xtype='u' and name like 'tb_xxx_%'--根据条件筛选表名
 9 
10 OPEN contact_cursor
11 
12 
13 FETCH NEXT FROM contact_cursor
14 INTO @name--表名
15 
16 WHILE @@FETCH_STATUS = 0
17 BEGIN
18    print '已经清空表'+@name
19    set @count=@count+1
20    exec('truncate table '+@name)
21    FETCH NEXT FROM contact_cursor
22    INTO @name
23 END
24 print '处理完成,共清空数据表'+convert(varchar(50),@count)+'个'
25 CLOSE contact_cursor
26 DEALLOCATE contact_cursor
27 GO

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Redash 二开 - 前端环境搭建

    Redash 运行步骤略微有点复杂,项目除了几个页面是后端渲染外,其余都是前端渲染(Ant Design & React)。目前第一步打算先通过 Docker ...

    晓晨
  • 浏览器启动外部软件

    晓晨
  • NLog配置分享

    晓晨
  • 《PaddlePaddle从入门到炼丹》九——迁移学习

    在深度学习训练中,例如图像识别训练,每次从零开始训练都要消耗大量的时间和资源。而且当数据集比较少时,模型也难以拟合的情况。基于这种情况下,就出现了迁移学习,通过...

    夜雨飘零
  • 发布Npm包到GitHub Packages

    Github集成了GitHub Packages功能,目前提供了Npm、Docker、Maven、NuGet、RubyGems的包管理工具,可以通过Github...

    WindrunnerMax
  • Python开发端口扫描器

    py3study
  • 【python学习】新手基础程序练习(二

    py3study
  • 口红?剃须刀?Python告诉你,刚过去的520,大家都在送什么礼物

    【导语】:今天我们来聊一聊刚过去的520,大家买得最多的都是什么?Python技术部分请看第二部分。

    CDA数据分析师
  • Java并发之synchronized关键字

         上篇文章我们主要介绍了并发的基本思想以及线程的基本知识,通过多线程我们可以实现对计算机资源的充分利用,但是在最后我们也说明了多线程给程序带来的两种典型...

    Single
  • 数据库中间件 Sharding-JDBC 源码分析 —— 事务(一)之BED

    本文主要基于 Sharding-JDBC 1.5.0 正式版 1. 概述 2. 最大努力送达型 3. 柔性事务管理器 3.3.1 创建柔性事务 3.1 概念 3...

    芋道源码

扫码关注云+社区

领取腾讯云代金券