데이터를 저장 할 때 해당 데이터를 수정 및 추가 저장을 체크를 해야 할 경우가 있습니다.
이때 사용하는 것이 Merge 문입니다.
Merge 문의 MSDN Syntax 주소 : http://msdn.microsoft.com/ko-kr/library/bb510625(SQL.105).aspx
MS-SQL MERGER 문 예제
MERGE TB_IDX AS T
USING (SELECT \'20130301\' AS IDX_DD,\'IDX_SHP_SI\' AS IDX_CATE_ID) AS IDX
ON (T.IDX_DD = IDX.IDX_DD AND
T.IDX_CATE_ID = IDX.IDX_CATE_ID)
WHEN MATCHED THEN--AND T.IDX_DD = \'20130301\' AND T.IDX_CATE_ID=\'IDX_SHP_SI\'
UPDATE SET
T.IDX_VALUE = 12000
,T.UDT_DT = GETDATE()
,T.UDT_ID = \'CHEON0906\'
WHEN NOT MATCHED BY TARGET THEN-- AND IDX.IDX_DD=\'20130301\' AND IDX.IDX_CATE_ID = \'IDX_SHP_SI\'
INSERT (IDX_DD,IDX_CATE_ID,IDX_VALUE,REG_DT,REG_ID,UDT_DT,UDT_ID)
VALUES (IDX.IDX_DD,IDX.IDX_CATE_ID,12000,GETDATE(),\'TEST\',GETDATE(),\'TEST\');
'IT > Database' 카테고리의 다른 글
[MSSQL]서버 BAK파일 복구 (0) | 2018.04.11 |
---|---|
[SQL Azure]SQL Federation (0) | 2018.04.11 |
[MYSQL] 데이터포맷 (0) | 2018.04.10 |
[MSSQL]날짜관련 함수 (0) | 2018.04.09 |
[MS SQL] DB 파티션 (0) | 2018.04.09 |
[MSSQL]DB손상복구 (0) | 2018.04.07 |
[MSSQL] 64비트 SQL Server 2005이상에서 32비트 Server 2000(7.0) Linked Server 등록시 (0) | 2018.04.02 |
[MSSQL] Table Modify (0) | 2018.04.01 |