안녕하세요 주인장 후니입니다.
나이는 먹어가지만 알아야 하는것은 정말 많은 것 같습니다. ㅠ. ㅠ
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문을 비교하시라고 올려드립니다.
그럼 여러분들도 즐거운 코딩생활 하세요 ^^
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 |