IT Log

[SQL Server] MERGE 본문

SQL/SQL Server

[SQL Server] MERGE

newly0513 2022. 1. 17. 17:20
728x90
반응형

※ 구문 규칙 참고

규칙 설명
기울임꼴 사용자가 제공하는 매개 변수
굵게 각종 이름및 텍스트를 그대로 정확히 입력
| (세로줄) 구문 항목을 구분하며, 항목 중 하나만 사용 가능 (선택사항)
{} (중괄호) 필수 구문이며, 중괄호는 입력하지 않음
[] 생략이 가능한 구문
[ , ...n] 앞의 항목이 n번 반복 가능하며, 각 항목은 쉼표로 구분
[ ... n] 앞의 항목이 n번 반복 가능하며, 각 항목은 공백으로 구분
; SQL문 종결자로, 대부분 생략하지만 이후 버전에서는 필요
<label> ::== 구문 블록의 이름

SQL Server / Azure SQL Database

[ WITH <common_table_expression> [,...n] ]  
MERGE
    [ TOP ( expression ) [ PERCENT ] ]
    [ INTO ] <target_table> [ WITH ( <merge_hint> ) ] [ [ AS ] table_alias ]  
    USING <table_source> [ [ AS ] table_alias ]
    ON <merge_search_condition>  
    [ WHEN MATCHED [ AND <clause_search_condition> ]  
        THEN <merge_matched> ] [ ...n ]  
    [ WHEN NOT MATCHED [ BY TARGET ] [ AND <clause_search_condition> ]  
        THEN <merge_not_matched> ]  
    [ WHEN NOT MATCHED BY SOURCE [ AND <clause_search_condition> ]  
        THEN <merge_matched> ] [ ...n ]  
    [ <output_clause> ]  
    [ OPTION ( <query_hint> [ ,...n ] ) ]
;  

<target_table> ::=  
{
    [ database_name . schema_name . | schema_name . ]  
  target_table  
}  

<merge_hint>::=  
{  
    { [ <table_hint_limited> [ ,...n ] ]  
    [ [ , ] INDEX ( index_val [ ,...n ] ) ] }  
}  

<merge_search_condition> ::=  
    <search_condition>  

<merge_matched>::=  
    { UPDATE SET <set_clause> | DELETE }  

<merge_not_matched>::=  
{  
    INSERT [ ( column_list ) ]
        { VALUES ( values_list )  
        | DEFAULT VALUES }  
}  

<clause_search_condition> ::=  
    <search_condition>

 

* 각 인수에 대한 상세한 설명은 아래 URL을 참조.

참조 URL : https://docs.microsoft.com/ko-kr/sql/t-sql/statements/delete-transact-sql?view=sql-server-ver15#examples-sssdwfull-and-sspdw

728x90
반응형

'SQL > SQL Server' 카테고리의 다른 글

[SQL Server] Functions - 집계 함수  (0) 2022.01.18
[SQL Server] BULK INSERT  (0) 2022.01.17
[SQL Server] UPDATE  (0) 2022.01.17
[SQL Server] INSERT  (0) 2022.01.17
[SQL Server] DELETE  (0) 2022.01.17
Comments