본문 바로가기
DB/Oracle

MERGE INTO 문법

by Lohen 2016. 2. 4.

MERGE INTO     

    A_TABLE    A

USING        

    B_TABLE    B

ON

(

    B.NO     ='0'    AND

    A.ID    =B.ID

)

WHEN MATCHED THEN

UPDATE

SET

    VAL         ='10000',

    VAL2        =VAL2 +10

[출처] Oracle Update Join|작성자 라이오스

 


MERGE INTO TABLE_TABLE A
USING DUAL
ON ( A.ID = '')
WHEN MATCHED THEN
    UPDATE
        SET
            A = ''
            , B = ''
        WHEN NOT MATCHED THEN
            INSERT (A, B )
            VALUES ('', B )


MERGE INTO 타켓테이블

USING 조인테이블

ON ( 타켓테이블.컬럼 = 조인테이블.컬럼 )

WHEN MATCHED THEN

UPDATE SET

..

WHEN NOT MATCHED THEN

INSERT ( 컬럼1, 컬럼2, .. )

VALUES ( VALUE1, VALUES2, .. )

 

 

 

MERGE INTO ULT C

     USING (SELECT B.CONT, B.LAN, B.DES

              FROM TENT A, MULTI_LANG B

             WHERE     A.KEY IS NULL

                   AND A.CONT = B.CONT

                   AND B.DES LIKE '%\n%') D

        ON (C.CONT = D.CONT AND C.LAN = D.LAN)

WHEN MATCHED

THEN

   UPDATE SET C.DES = REPLACE (C.DES, '\n', '')

 

 

 

 

MERGE INTO schema.table_name1 C

     USING (SELECT B.ID, B.LCD, B.DTION

              FROM schema.table_name2 A, schema.table_name1 B

             WHERE     A.ITKEY IS NULL

                   AND A.ID = B.ID

                   AND B.DTION LIKE '%\n%') D

        ON (C.ID = D.ID AND C.CD = D.CD)

WHEN MATCHED

THEN

   UPDATE SET C.DTION = REPLACE (C.DTION, '\n', '')


반응형

'DB > Oracle' 카테고리의 다른 글

Oracle.DataAccess 32비트용  (0) 2016.02.04
Oracle.DataAccess 64비트  (0) 2016.02.04
ORA-08002  (0) 2016.02.04
oracle HAVING 절  (0) 2016.02.04
아카이브 용량 증설  (0) 2016.02.04