DTS包中执行SQL语句,插入目的表中不存在的数据

解决方案 »

  1.   

    --在dts包里执行下面SQL语句就行了
    insert into [目的数据库].[dbo].[目的表]
    select * from [目的数据库].[dbo].[目的表] a where not exists
    (select 1 from [目的数据库].[dbo].[目的表] b where a.关键字=b.关键字)
      

  2.   

    通过触发器可以实现:
    把inserted表的数据全插过去就行
      

  3.   

    就是不想用触发器才用的数据转换的方法
    加sql的那个方法懂了,楼上的设置标志的那个不太懂,能否说详细一点,谢谢
      

  4.   

    我是要将oracle里的表中数据导入到SQL server中,执行SQL语句会出错
      

  5.   

    我用的是not in语句限制只抽取新的数据,假如两张表在同一个库中可以,但不在一个数据库中就会出错。
    不知应怎么实现
      

  6.   

    在源表添加一个字段bit型
    0代表未同步
    1代表已同步
    默认是0每次同步时检查bit标识是0的复制到另一个表里
    复制后将源表的bit标识更新为1如果要对更新过的和删除的数据做相应的操作,还可以进一步改
      

  7.   

    --对表1更新的数据也要体现在表2
    --假设源表叫表1,复制目的表叫表2
    如果对表1里更新过的数据也要复制到表2,那么表1、表2要有主键,在将表1里bit标识为0的记录复制到表2前先检查表2里主键有没有属于表1里标识为0的集合里面的主键,如果有,先删除它们,再复制表1里面标识为0的记录到表2,然后更新表1里面的bit标识为1
    --对于表1删除的记录,如果也要体现在表2
    --可以先执行新增记录、更新记录的操作,完了后检查表2里主键不在表1里的记录,删除它们
      

  8.   

    可是对源表没有建立字段的权限,只有select等查看权限