两个数据库结构一样,把A数据库导入到B数据库,有重复记录(两个字段一样)则更新,没有记录则执行插入新记录,怎么写sql

解决方案 »

  1.   

    你指的是 2 Fields 相同更新,是指任意還是固定?
    如果是固定的話應該好辦一些。
    具體思路如下,
    打開A數據,將指針移動到第一個,然後讀取第一條記錄,查詢字段A.A1和A.A2是否在B數據中出現,如果出現,則Update,Else Insert into還有一種是打開A數據,查詢A.A1和A.A2是否在B數據中出現,如果出現,則delete
    然後再打開一次A數據,
    While not rs.eof
    Instrt into Loop如果記錄量大的話,第二個方法效率好像好一點,至少機器不會很卡。
    誰有更好的方法頂上來```
      

  2.   

    你应该详述你的数据库表结构,以及重复记录的判据。假定你的表有 ID 字段,且 ID 是判断记录是否重复的唯一标准;并假定 Connection 建立在库 B 上。如有不同,请你自己更改。DELETE FROM tablename WHERE ID IN (SELECT ID FROM A!tablename)
    INSERT INTO tablename SELECT * FROM A!tablename
      

  3.   

    还有如果我的Access数据库超过100M,记录几百万条,是不是速度下降很多,如何提高速度,难道分两个数据库