문제
다음 중 UPSERT(INSERT 또는 UPDATE) 기능을 제공하는 SQL 구문으로 가장 적절한 것은?
① INSERT INTO ... ON DUPLICATE KEY UPDATE ② REPLACE INTO ... VALUES ③ MERGE ... USING ... WHEN MATCHED ④ 위 모든 구문
정답
4번
해설
①MySQL의 ON DUPLICATE KEY UPDATE는 중복 시 UPDATE 수행, ②MySQL의 REPLACE는 존재 시 삭제 후 INSERT, ③Oracle의 MERGE는 조건에 따라 INSERT/UPDATE 선택적 수행이 가능합니다. 모든 구문이 각각의 DBMS에서 UPSERT 기능을 제공합니다.