본문 바로가기

dev/데이터베이스

upsert 쿼리 예제

프로젝트 진행하면서 upsert(update + insert) 쿼리가 필요한 때가 많은데

 

대학생때 배웠던 기본적인 select, insert, update, delete 와 달라서

 

upsert 쿼리 이해하느라 고생했던 적이 있었다.

 

이번 예제 쿼리 보면 앞으로 유용하게 쓸 수 있을 거 같다.

 

예제 테이블

 

upsert 예제 쿼리

 

위의 예제를 보면 

 

col1이 6인 로우에 "TEST ROW6"을 col2에 upsert 한다는 예제쿼리이다.

 

먼저 서브쿼리로 update를 작업한 뒤 수행한 행을 리턴한다.(1번 with문)

 

그리고 서브쿼리에서 받은 결과값이 있는지 조회해서(3번 select)

 

결과값이 없으면 insert를 수행하고 있으면 수행하지 않는다.(2번 insert)

 

upsert 반영 결과

 

upsert 쿼리 작업한 테이블은 위와 같이 잘 반영되었다.

'dev > 데이터베이스' 카테고리의 다른 글

Windows PostgreSQL 설치 및 백업  (0) 2019.12.10
pg_dump 사용법  (0) 2019.09.02
PostgreSQL 백업 쿼리 생성  (0) 2019.06.18
PostgreSQL 비밀번호 변경  (0) 2019.04.15
PostgreSQL 시간 단위별 조회  (0) 2019.04.10