[PostgreSQL] UPDATE Multiple Rows

Younghwan Cha·2022년 11월 7일
0

Database

목록 보기
11/16
post-thumbnail

UPDATE 는 꼭 하나씩 해야할까?

INSERT 의 경우,

INSERT INTO TALBE_A (a, b, c) VALUES (,,), (,,), (,,)

와 같이 한번에 여러 row 들을 INSERT 할 수 있다.

UPDATE 는?

UPDATE A
SET col1 = col, col2 = col
WHERE col3 = col

SET 에 여러개의 조건을 넣는 것 말고는 불가능해보인다.
과연 그럴까?
다음과 같은 쿼리를 통해서 다중 row 를 UPDATE 가 가능하다.

UPDATE A
SET col1 = tmp.col, col2 = tmp.col
FROM (
	VALUES (a, b, c), (d, e, f)
) AS tmp_values (
	col1,
    col2,
    col3
) WHERE A.col1 = tmp_values.col1
RETURNING

쿼리의 길은 역시 멀고도 험하다.

profile
개발 기록

0개의 댓글