MS Access UPSERT(更新/插入)SQL

时间:2015-11-16 21:27:11

标签: sql database ms-access

我知道这个问题一定要被问过一百万次,但我还没有找到一个非常有用的问题" MS Access 2007 SQL中的解决方案。

我正在使用2个表 TBLDestination TBLSource 。当找到匹配的ID时,我必须从源表记录更新目标表记录。对于不匹配的ID(即新ID),我想插入新记录 (请参阅下表)。

-----TBLSource-------
ID (match if ID exists in Destination table)
EmpName
EmpAdd

---TBLDestination-----
ID
EmpName (to be updated/inserted)
EmpAdd (to be updated/inserted)
Salary

2 个答案:

答案 0 :(得分:1)

MS Access没有与UPSERT等效的地方,您可以在一次查询中同时执行这两项操作。

但是,通过执行UPDATE查询可以获得相同的效果,您可以在其中加入要更新的表。然后你做一个INSERT查询,你在那里OUTER JOIN到表并返回那些不存在的表。

答案 1 :(得分:1)

使用带有UPDATE的{​​{1}}来访问DOES。 See here