oracle > mysql 변환중 merge 질문드립니다! 0 1 3,367

by 공부하는개발자 [MySQL] oracle mysql merge [2020.01.24 17:57:23]



MERGE INTO T_TABLE A
 USING (
   VALUES (
        CAST( #{ID} AS VARCHAR(3))
    )
 ) AS S(ID)
 ON (A. ID = S.ID)
WHEN NOT MATCHED THEN
   INSERT (
     ID
     , NAME
     , EMAIL
   ) VALUES (
     , # {ID}
     , # {NAME}
     , # {EMAIL}
   )
 WHEN MATCHED THEN
   UPDATE SET
       ID = #{ID}
      , NAME = #{NAME}
      , EMAIL = #{EMAIL}

------------------------------------------ 위 SQL 변경

INSERT INTO INTO T_TABLE A (
    ID
   , NAME
   , EMAIL
 ) VALUES (
    #{ ID}
   , #{NAME}
   , #{EMAIL}
  )
ON DUPLICATE KEY
UPDATE
     ID = #{ID}
    , NAME = #{NAME}
   , EMAIL = #{EMAIL}

 

 

ID는 PK로 지정했습니다.

개발자로 시작한지 3개월된 신입 개발자입니다!

위 ORACLE 코드를 MYSQL 형식으로 변경해야되는데..

MERGE INT 부분 SELECT하는 부분이 이해가 안되서 짧은 쿼리로 문의 드립니다 ㅠ

틀린 부분이 있으면 꼭 알려주시면 감사하겠습니다.

새해 복 많이 받으세요!

by 마농 [2020.01.28 08:53:27]

질문하신 SELECT 하는 부분은 안보입니다.
UPDATE 절에서 ID 는 빠져야 합니다.
오라클 맞나요? Merge 문 정상 동작 하나요? 문법이 이상한데요?
오라클이 아니거나, merge 문에 문제가 있거나? 할 듯 하네요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입