프로젝트 진행하면서 upsert(update + insert) 쿼리가 필요한 때가 많은데
대학생때 배웠던 기본적인 select, insert, update, delete 와 달라서
upsert 쿼리 이해하느라 고생했던 적이 있었다.
이번 예제 쿼리 보면 앞으로 유용하게 쓸 수 있을 거 같다.
위의 예제를 보면
col1이 6인 로우에 "TEST ROW6"을 col2에 upsert 한다는 예제쿼리이다.
먼저 서브쿼리로 update를 작업한 뒤 수행한 행을 리턴한다.(1번 with문)
그리고 서브쿼리에서 받은 결과값이 있는지 조회해서(3번 select)
결과값이 없으면 insert를 수행하고 있으면 수행하지 않는다.(2번 insert)
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 |