您的位置:首页 > 数据库

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

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

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

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

下面,上代码

USE [DataBase]
GO
DECLARE @name varchar(50)
DECLARE @count int
set @count=0
DECLARE contact_cursor CURSOR FOR
select name from sysobjects
where xtype='u' and name like 'tb_xxx_%'--根据条件筛选表名

OPEN contact_cursor

FETCH NEXT FROM contact_cursor
INTO @name--表名

WHILE @@FETCH_STATUS = 0
BEGIN
print '已经清空表'+@name
set @count=@count+1
exec('truncate table '+@name)
FETCH NEXT FROM contact_cursor
INTO @name
END
print '处理完成,共清空数据表'+convert(varchar(50),@count)+'个'
CLOSE contact_cursor
DEALLOCATE contact_cursor
GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: