hoony's web study

728x90
반응형


안녕하세요 주인장 후니입니다. 

나이는 먹어가지만 알아야 하는것은 정말 많은 것 같습니다. ㅠ. ㅠ

oracle 이나 tibero에서는 잘쓰던 merge 문이 mysql 에서는 먹지를 않더군요. 


merge문을 쓰는 이유는 다들 아시겠지만 테이블에 값이 존재하면 update

없으면 insert를 하기 위함이죠.


자바로 해당 테이블에 자료가 있는지 없는지 하면서 하는 코딩량도 대폭 줄일수 있구요. ^^ 


tibero 에서 쓰던 merge 문

 MERGE INTO  TB_HOLIDAY A

USING ( SELECT #tday# AS tday  FROM DUAL) B

ON (A.tday = B.tday )

WHEN MATCHED THEN

UPDATE 

SET mday = #mday#  

WHEN NOT MATCHED THEN

INSERT 

(

tday

,mday 

)

VALUES 

(

#tday#

,#mday# 


아래는 mysql 에서 쓰는 merge문 대용 입니다. 

INSERT INTO TB_HOLIDAY (tday, mday) VALUES(#tday# , #mday# ) 

ON DUPLICATE KEY UPDATE 

mday = #mday#

위와같이 두개를 올려드린 이유는 merge문과 insert into on duplicate key update문을 비교하시라고 올려드립니다.


그럼 여러분들도 즐거운 코딩생활 하세요 ^^ 

728x90

'DBMS > MySQL & MariaDB' 카테고리의 다른 글

Mysql Event 스케쥴 변경  (0) 2020.04.09
Trigger 확인 및 삭제하기  (0) 2020.03.29
Mysql 문자열 결합하기  (0) 2014.07.16
mysql 해당월에 있는 데이터만 가지고 올때  (0) 2014.06.30
MySQL 날짜 유형 지정하기  (0) 2014.06.30

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading