SQL Server:使用MERGE进行多次INSERT

Pet*_*bík 5 sql-server sql-server-2008-r2 multiple-insert on-duplicate-key

我正在尝试在MySQL数据库和SQL Server 2008 R2之间编写桥梁来同步表中的值.我陷入SQL Server数据库的多插入值.通常在MySQL中我使用如下查询:

INSERT INTO table (column1, column2)
VALUES(value1, value2), (value3, value4)
ON DUPLICATE KEY UPDATE column2 = VALUES(value2);
Run Code Online (Sandbox Code Playgroud)

有没有办法如何多次插入SQL Server MERGE

谢谢你的回答

one*_*hen 10

MERGE INTO YourTable T
   USING ( VALUES ( 'value1', 'value9' ), 
                  ( 'value3', 'value4' ) ) AS S ( column1, column2 )
      ON T.column1 = S.column1
WHEN MATCHED THEN 
   UPDATE
      SET column2 = S.column2
WHEN NOT MATCHED THEN
   INSERT ( column1, column2 ) VALUES ( column1, column2 );
Run Code Online (Sandbox Code Playgroud)