sql server merge into 怎么用
时间: 2023-09-23 08:06:54 浏览: 107
MERGE INTO 是 SQL Server 中的一种语法,用于将数据从源表合并到目标表中。它通常用于更新或插入数据,可以根据指定的条件在目标表中执行操作。以下是一个基本的 MERGE INTO 语法:
```
MERGE INTO 目标表
USING 源表 ON (目标表.列名 = 源表.列名)
WHEN MATCHED THEN
UPDATE SET 目标表.列名 = 源表.列名
WHEN NOT MATCHED THEN
INSERT (列名1, 列名2, 列名3, ...)
VALUES (值1, 值2, 值3, ...);
```
其中,目标表是要合并数据的表,源表是提供数据的表。ON 子句用于指定在目标表和源表中进行匹配的列。WHEN MATCHED THEN 子句指定当目标表和源表中的行匹配时要执行的操作,通常是更新目标表的列。WHEN NOT MATCHED THEN 子句指定当目标表和源表中的行不匹配时要执行的操作,通常是将源表中的行插入到目标表中。
例如,假设有一个目标表和一个源表,它们都有一个名为 ID 的列。以下是将源表的数据合并到目标表中的 MERGE INTO 语句:
```
MERGE INTO 目标表 AS T
USING 源表 AS S ON (T.ID = S.ID)
WHEN MATCHED THEN
UPDATE SET T.列1 = S.列1, T.列2 = S.列2
WHEN NOT MATCHED THEN
INSERT (ID, 列1, 列2)
VALUES (S.ID, S.列1, S.列2);
```
该语句将源表中的数据插入目标表中,如果目标表中已有匹配的行,则更新其列值。
阅读全文