MS Access:同时更新+追加?

时间:2018-01-16 20:35:15

标签: sql ms-access

我有两个感兴趣的表 - 一个是我的“主”数据表,需要定期更新(ARIES_AC_PRODUCT),另一个是我从(Update_AC_Product)中提取新数据的边表。我的目标是让Access更新记录(如果它们已存在于主表中),否则只需附加新记录(所有记录都有一个查询)。目前我有两个查询来完成这个目标......一个是更新查询,另一个是追加查询。请注意,两个表具有完全相同的结构(5个字段,即PROPNUM,P_DATE,OIL,GAS,WATER)。下面是每个查询的SQL代码:

附加查询

INSERT INTO ARIES_AC_PRODUCT (PROPNUM, P_DATE, OIL, GAS, WATER)
SELECT Update_AC_Product.PROPNUM, Update_AC_Product.P_DATE, Update_AC_Product.OIL, Update_AC_Product.GAS, Update_AC_Product.WATER
FROM Update_AC_Product;

更新查询

UPDATE ARIES_AC_PRODUCT 
INNER JOIN Update_AC_Product ON (ARIES_AC_PRODUCT.PROPNUM = Update_AC_Product.PROPNUM) AND (ARIES_AC_PRODUCT.P_DATE = Update_AC_Product.P_DATE)     
SET ARIES_AC_PRODUCT.PROPNUM = [Update_AC_Product]![PROPNUM], ARIES_AC_PRODUCT.P_DATE = [Update_AC_Product]![P_DATE], ARIES_AC_PRODUCT.OIL = [Update_AC_Product]!OIL, ARIES_AC_PRODUCT.GAS = [Update_AC_Product]!GAS, ARIES_AC_PRODUCT.WATER = [Update_AC_Product]![WATER];

请注意,我在每个表中都有2个主键 - PROPNUM和P_DATE。 PROPNUM是商品ID,P_DATE是生产日期。一个PROPNUM可以有多个P_DATE条目(因此PROPNUM和P_DATE的组合在每个表中创建一个唯一的记录)。

是否可以将这两个查询合并为一个,这样我就不必附加新记录,然后分别更新现有记录?

谢谢!

0 个答案:

没有答案