sql server常规操作之数据导入原创
8人赞赏了该文章
475次浏览
编辑于2022年11月16日 15:38:08
误删数据怎么办?特别是涉及的表的数量比较多的时候,如何快速从源库导入想要的数据?
您可以试试这个存储过程?
先简单说明说明一下:
--功能:快速从备查库或者备查表获取数据,插入目标库
--不考虑表存在自增列的场景
--字段以目标库的字段为准
--数据范围:备查库表的所有数据,支持设置条件
--参数说明(看变量名就知道,很好懂吧):
@SourceDB 备查库实体名称
@STablename 源表名
@TTablename 目标表名
@where_sql 过滤条件
存储过程定义: if exists(select * from sys.objects where name='SP_INSERT_FROM_BACKUP' and type='P') drop procedure SP_INSERT_FROM_BACKUP go CREATE PROCEDURE SP_INSERT_FROM_BACKUP(@SourceDB varchar(100),@STablename varchar(100),@TTablename varchar(100),@where_sql varchar(100)) as begin declare @fsql varchar(max) declare @column varchar(max) set @column='' select @column=@column+name+',' from sys.columns where object_id=object_id(@TTablename) order by column_id set @column=SUBSTRING(@column,1,len(@column)-1) set @fsql='insert into '+@TTablename+'('+@column+') select '+@column+' from '+@SourceDB+'..'+@STablename+' '+@where_sql print @fsql exec(@fsql) end
存储过程调用: exec SP_INSERT_FROM_BACKUP '[蓝海实业集团]','T_HS_OUTSTOCKINDEXENTRY','T_HS_OUTSTOCKINDEXENTRYbak',''
生产库的任何后台操作都有一定的风险,亲们请务必先备份和测试,以上sql仅供学习交流。
赞 8
8人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读