sql多数据库查询批量插入问题循环


  本文标签:SQL 查询 循环

  下文将为您介绍sql多数据库查询批量插入问题循环的例子,供您参考,如果您在使用SQL数据库中遇到过类似的问题,不妨一看,相信对您会有所启示  。

  从本库查询另外的库,需要使用链接服务器

  在sql2005中选服务器对像,找到链接服务器节点右键

  链接服务器名:youlinkedserverName

  服务类型 其它

  访问接口 SQL Native Client

  产品名 youproductName

  数据源 目标数据库服务器名或者IP

  确定

  储存过程方法创建

  EXEC master.dbo.sp_addlinkedserver @server = NLKPU, @srvproduct=Ntest, @provider=NSQLNCLI, @datasrc=NPU

  批量插入问题.

  关键要解决不能重复的记录

  使用 not exists

  insert into qcda(CarNumber,CarHost,CarBodyCode,engineCode)
(
select [车号],[车主姓名],[车识代码],[发动机号] from LK.[A_01_2007].[dbo].[qcda]
where not exists(select CarNumber,CarHost,CarBodyCode from qcda where [车号]=qcda.CarNumber and [车识代码]=qcda.CarBodyCode )
)

  sql 循环

  DECLARE mycursor CURSOR
FOR SELECT [name] FROM LK.[master].[sys].[databases] where [name] like A_%_[2,1,6,7,8,9] --定义游标
OPEN mycursor --打开游标
declare @fieldname sysname --定义变量
fetch   next   from   mycursor   into   @fieldname --给变量赋值
while (@@FETCH_STATUS <> -1) --判断游标
begin
IF (@@FETCH_STATUS <> -2)
   begin
    exec Import_qcda @fieldname
    fetch   next   from   mycursor   into   @fieldname --给变量赋值
   end
end
close mycursor --关闭游标
DEALLOCATE mycursor --销毁游标