先吐槽一下,由于公司要为新客户部署一个全新的系统,然而公司并没有空库,所以只能把正在线上运行的数据库给备份,然后清空相关数据
下面分享一下我在做清空数据库时写的一个批量清空数据表的方法
思路:查询出该库下的所有表 根据表名(系统相关数据表取名都是有规律的)筛选出需要清空的表
下面,上代码
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
时间: 2024-10-11 20:12:19