반응형
개발업무를 하다가 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 |
---|