sql server常规操作之数据导入

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

sql server常规操作之数据导入

误删数据怎么办?特别是涉及的表的数量比较多的时候,如何快速从源库导入想要的数据?

您可以试试这个存储过程?

先简单说明说明一下:

--功能:快速从备查库或者备查表获取数据,插入目标库

--不考虑表存在自增列的场景

--字段以目标库的字段为准

--数据范围:备查库表的所有数据,支持设置条件

--参数说明(看变量名就知道,很好懂吧):

@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仅供学习交流。


sql server常规操作之数据导入

误删数据怎么办?特别是涉及的表的数量比较多的时候,如何快速从源库导入想要的数据?您可以试试这个存储过程?先简单说明说明一下:--功能...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息