choi121xx 2013. 5. 3. 13:28



[ Marge ]

- Oracle 9i부터

 

- 형식>

MERGE INTO table name alias

    USING

        table or view or subquery alias

    ON (join condition)

     

    WHEN MATCHED THEN -- 존재하면 UPDATE

        UPDATE SET

            ... 

    WHEN NOT MATCHED THEN -- 없으면 INSERT

            INSERT (....)

            VALUES(....);





MERGE INTO 타겟테이블 TT

    USING 

        소스테이블 ST

    ON (TT.필드1=ST.필드1 AND TT.필드2=ST.필드2 ....)

     

    WHEN MATCHED THEN -- 존재하면 UPDATE

        UPDATE SET

            TT.타겟_필드1=ST.소스_필드1

            ,TT.타겟_필드2=ST.소스_필드2

 

    WHEN NOT MATCHED THEN -- 없으면 INSERT

            INSERT (타겟_필드1, 타겟_필드2, 타겟_필드3....)

            VALUES(

                ST.소스_필드1

                , ST.소스_필드2

                , ST.소스_필드3

                .

                .

            );