码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-12-29 19:23:32      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

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

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

 

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

 

下面,上代码

 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

 

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

标签:

原文地址:http://www.cnblogs.com/stulzq/p/5086532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!