본문 바로가기

좋아하는 것_매직IT/27.용어정리

UPSERT 이란 용어 깔끔하게 정리하기

반응형

개발업무를 하다가 UPSERT 란 용어을 들어서 정리해 봅니다. 

한마디로, UPSERT 는 UPDATE + INSERT 의 합성어를 말하는데요.....

우리는 DB 연동 개발을 할때 INSERT or UPDATE 를 할때가 많이 있습니다. 
하지만, 만약 INSERT 하고자하는 데이터가 기존에 있을 경우, 어떻게 해야할까요? 
그러면, INSERT 는 실패가 나게 되는데요.. PRIMARY KEY 중복으로요....
이럴때는 UPDATE 가 일어나게 처리는 것을 우리는 UPSERT 라고 부릅니다. 

즉, UPSERT = UPDATE + INSERT 의 합성어라고 머릿속에 넣어두시면됩니다...

혹시나 몰라서 아래 내용을 정리해 봅니다. 
 - MYSQL / ORACLE 

728x90

MYSQL 의 경우

INSERT INTO [table_name] ([col 1], [col 2]) VALUES ('[value 1]', '[value 2]') ON DUPLICATE KEY UPDATE '[col 2]' ='[value 2]';

 

ORACLE의 경우

728x90
MERGE INTO [table_name] [alias]
            USING (source_table_name or  view or subquery) [alias]
            ON (join condition)
WHEN MATCHED THEN
     UPDATE SET col1 = value1[, col2 = value2…]
WHEN NOT MATCHED THEN
     INSERT [(col1, col2, ... coln)] VALUES(value1, value2 ... valuen)


이상입니다.

 

728x90
300x250

'좋아하는 것_매직IT > 27.용어정리' 카테고리의 다른 글

JWT Token 과 Bearer Token 차이점  (0) 2023.04.12