안녕하세요 현재 oracle에서 mysql 전환에 있어
oracle merge into을 변환하려는 와중에 혼자 해결하기 어려워 여쭤봅니다.
MERGE INTO USER T USING (SELECT USER_ID, EMPNO, ADDR FROM AAA ) S ON (T.USER_ID = S.USER_ID) WHEN MATCHED THEN UPDATE SET T.EMPNO= S.EMPNO, T.ADDR = S.ADDR, WHEN NOT MATCHED THEN INSERT (USER_ID, EMPNO, ADDR, ) VALUES (S.USER_ID, S.EMPNO, S.ADDR, )
이 구문을 mysql 전환하고 싶습니다.
INSERT INTO USER T(USER_ID, EMPNO, ADDR, ) SELECT (S.USER_ID, S.EMPNO, S.ADDR, ) FROM (SELECT USER_ID, EMPNO, ADDR FROM AAA ) S ON DUPLICATE KEY /*(WHERE ?)*/ UPDATE T.EMPNO= S.EMPNO, T.ADDR = S.ADDR
이구조에 맞추려고 하니 USING 부분을 SELECT FROM 으로 써야될 거 같은데
그러면 ON DUPLICATE 를 못쓰는거 같아서 어려운거같습니다.
merge into 뒤에 있는 on 구문을 mysql 구문 어디에 붙여서 사용해야되는지
구글링해도 정확한 정보를 알 수 없어서 질문드립니다.
감사합니다