有两个sql数据库 
有两个字段相同的表(没有设定主键)
如果a表里的数据比b表的数据多 就insert到b表
例如 a表有10条数据 b表有6条数据 那么就把a表的第7-10行的数据传给b表两张表有很多重复数据,所以不能用not in
两张表数据都是一条条加上去的,只能按顺序来了
求代码

解决方案 »

  1.   

    有没有唯一性的字段,比如时间等
    没有看来很难.例如 a表有10条数据 b表有6条数据 那么就把a表的第7-10行的数据传给b表
    这个例子是不是说明b表的6条与a表中前6条记录相同,如果这样可以先删除b表中的所有记录,再导入a表中的10行.
      

  2.   

    两表的前6行是相同的
    要把7-10行多的传给B 这样b表也10行了我本来做得就是全删除后插入
    但是这样做慢  数据量是每月起码增加2w左右
      

  3.   

    这样做试试:
    用ADOQuery1和ADOQuery2分别连接数据库a和b,判断ADOQuery1.RecordCount
    和ADOQuery2.RecordCount谁大谁小,用大的减小的,令其结果为n,然后用
    for i:=ADOQuery1.RecordCount downto ADOQuery2.RecordCount-n+1 do
    把大数据库里的多的数据提取出来添加到小的数据库,就行了