Merge (SQL)

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

MERGE 문은 조건에 따라 UPDATE 또는 INSERT를 실행한다. UPDATE 및 INSERT를 결합한 작업을 수행하기 때문에 UPSERT라는 별명을 가지고 있다.

표준 구문[편집]

SQL : 2003에서 표준 SQL에 도입된 구문은 다음과 같다.

 MERGE INTO 주로 테이블 USING 서브 테이블 ON (조건)
   WHEN MATCHED THEN
     UPDATE SET 컬럼1 =1 [, 컬럼2 =2 ...]
   WHEN NOT MATCHED THEN
     INSERT (컬럼1 [, 컬럼2 ...]) VALUES (1 [,2 ...])

비표준 구문[편집]

데이터베이스 제품 중 일부는 비표준 구문에서 유사한 기능을 제공하는 것도 있다.

  • MySQL은 INSERT ... ON DUPLICATE KEY UPDATE 및 REPLACE 구문을 채용하고 있다.[5][6]
  • SQLite는 INSERT OR REPLACE INTO와 REPLACE 구문을 채용하고 있다.[7]

주석[편집]

  1. MERGE. 《Oracle Database SQL 언어 참조》. 2009년 9월 23일에 확인.
  2. MERGE 문. 《DB2 Version 9 for Linux, UNIX, and Windows》. 2009년 9월 23일에 확인.
  3. MERGE (Transact-SQL). 《SQL Server 2008 온라인 설명서》. 2009년 9월 23일에 확인.
  4. MERGE. 《Firebird 2.1 Language Reference Update》. 2009년 9월 23일에 확인.
  5. INSERT ... ON DUPLICATE KEY UPDATE 構文. 《MySQL 5.1 リファレンスマニュアル》. 2009년 9월 23일에 확인.
  6. REPLACE 構文. 《MySQL 5.1 リファレンスマニュアル》. 2009년 9월 23일에 확인.
  7. INSERT. 《SQL As Understood By SQLite》. 2009년 9월 23일에 확인.

바깥 고리[편집]