2013-10-14 2 views
0

MS Access에서 2 개의 쿼리가 있습니다. One은 새로운 사용자를 데이터베이스 테이블에 삽입하고, 다른 사용자는 키가 데이터베이스에있는 경우 사용자의 레코드를 업데이트합니다.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
나는 종종 다음과 같은 솔루션을 사용

: 이미 있다면, 그것은 Table2에있는 경우

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

는,이 값 (업데이트)를 덮어 Table1에 삽입됩니다 Table1에 있습니다.

+1

감사합니다.하지만 2 개의 테이블을 비교하지는 않습니다. 응용 프로그램에서 데이터를 삽입하고 있습니다. – miguelarcilla