2013-10-14 41 views
0

我在MS Access中有2個查詢。一個將新用戶插入到數據庫表中,另一個用戶在數據庫中存在密鑰時更新用戶的記錄。MS Access 2010 - 條件插入/更新聲明

有沒有一種方法可以合併兩個查詢,插入記錄如果它不存在,但更新它,如果它?

喜歡的東西

-- IF username doesn't exist in the database -- 
INSERT INTO table_user (username, gender) VALUES (@username, @gender) 
-- ELSE -- 
UPDATE table_user SET gender = @gender WHERE username = @username 

回答

1

我常採用如下方案:

UPDATE Table1 RIGHT JOIN Table2 
ON Table1.[KeyField] = Table2.[KeyField] 
SET Table1.[KeyField] = Table2.[KeyField], 
Table1.[OtherField] = Table2.[OtherField] 

如果是在Table2,它會被插入到Table1,覆蓋值(更新),如果它已經在Table1

+1

謝謝,但我沒有比較2個表格,我從我的應用程序插入數據 – miguelarcilla