前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Sql Server利用游标批量清空数据表

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

作者头像
晓晨
发布2018-06-22 14:47:06
7550
发布2018-06-22 14:47:06
举报
文章被收录于专栏:晓晨的专栏晓晨的专栏

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

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

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

下面,上代码

代码语言:javascript
复制
 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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-12-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档