Oracle INSERT ALL기능에 MERGE를 기능을 합칠수 없을까요? 0 1 4,252

by 끙차끙차 [2016.04.20 16:41:28]


INSERT INTO TEST ( COL1, COL2)

VALUES ( 1,'a'), (2,'b')

ON DUPLICATE KEY UPDATE

COL1 = VALUES(COL1)

,COL2 = VALUES(COL2)

 

위의 MYSQL 구문을 ORACLE로 바꾸어야하는데

다중 INSERT문은 INSERT ALL로 바꾸는걸 찾았고

ON DUPLICATE 기능은 MERGE로 하면되는걸 찾았는데요..

저두개를 동시에 하는법은 찾질 못했습니다... 고수님들 혹시 위의 쿼리를 ORACLE로 바꿀방법이 없을까요?

참고로 컬럼갯수는 더 많은데 생략하였습니다.

 

 

 

by 마농 [2016.04.20 17:02:32]

INSERT ALL 과는 상관 없을 듯 하구요.
  - INSERT ALL 이 아닌 그냥 INSERT ~ SELECT 구문 쓰면 되구요.
INSERT 와 MERGE 를 합치는게 아니죠
  - MERGE 기능 자체가 (INSERT OR UPDATE) 기능입니다.
  - 그냥 MERGE 쓰면 됩니다.
오라클에 VALUES 를 나열하는 방법은 없습니다.
  - SELECT 구문의 결과가 다중으로 나오도록 만들어 사용해야 합니다.

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