Uncategorized

[MS-SQL] merge문 사용시 주의사항

MSSQL의 merge문 예제

< update id=”UpdateTestTable” parameterClass=”TestParameter” >      

MERGE INTO Test_Table MI
USING (SELECT PK_ID FROM Test_Table2 WHERE PK_ID = #PID# ) U ON MI.PK_ID = U.PK_ID
WHEN MATCHED THEN
UPDATE SET
IsUseWeb = #IsUseWeb#
< isNotEmpty prepend=”” property=”UserID” >
,LastUpdateUserID = #UserID#
             < /isNotEmpty>
              ,LastUpdateDateTime = GETDATE()
WHEN NOT MATCHED THEN
INSERT(PK_ID, IsUseWeb, LastUpdateUserID, LastUpdateDateTime)
VALUES(#PID#, #IsUseWeb#, #LoginUserID#, GETDATE())
  ;

< /update>

※ 주의사항 
1. USING절에 Merge 대상 테이블 단독으로 올 수 없다. 다른 테이블이 오거나 조인을 사용할 수 있다.
2. MERGE문은 반드시 세미콜론(;)으로 끝난다.

Leave a Reply

error: Content is protected !!