使用过程和游标吧,从源标中查出,再用游标指定,Insert 新表(...)Select ... From 源表 Where ...

解决方案 »

  1.   

    --在目标sql实例中操作--1.首先建立访问源sql实例的链接服务器
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','源sql实例服务器名或ip地址'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
    go--2.在目标数据库中创建一个存储过程,实现数据导入
    create proc p_inport
    as
    declare tb cursor local
    for
    select distinct 
    URLTopic,SRCName
    from srv_lnk.源数据库名.dbo.源表名declare @URLTopic Varchar(500),@SRCName Varchar(100)
    open tb
    fetch tb into @URLTopic,@SRCName
    while @@fetch_status=0
    begin
    insert 目标主表(
    vcTitle,
    vcDescript,iCatalogId,iColumnsId,
    vcFrom,
    vcState,vcSpe,vcIP,iClickCount,nAdminPK,iClickCount)
    values(
    @URLTopic,
    null,23,null,
    @SRCName,
    0,0,'127.0.0.1',0,0,0)
    insert 目标从表(
    nContentId,
    texContentValue)
    select 
    scope_identity(),
    Content
    from srv_lnk.源数据库名.dbo.源表名
    where URLTopic=@URLTopic
    and SRCName=@SRCName
    fetch tb into @URLTopic,@SRCName
    end
    close tb
    deallocate tb
    go
      

  2.   

    最后在目标sql实例中,新建一个作业,定时调用上面的存储过程实现定时导入数据
    企业管理器
    --管理
    --SQL Server代理
    --右键作业
    --新建作业
    --"常规"项中输入作业名称
    --"步骤"项
    --新建
    --"步骤名"中输入步骤名
    --"类型"中选择"Transact-SQL 脚本(TSQL)"
    --"数据库"选择执行命令的数据库
    --"命令"中输入要执行的语句:
                      exec p_inport
    --确定
    --"调度"项
    --新建调度
    --"名称"中输入调度名称
    --"调度类型"中选择你的作业执行安排
    --如果选择"反复出现"
    --点"更改"来设置你的时间安排
    然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行设置方法:
    我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
      

  3.   

    insert into dataname.dbo.A(a,b)
    select a,b from dataname.dbo.B
    具體的如何搞做樓主自己可以試一下。
    我想格式就是這樣