mssql中怎样查询不存在记录并进行添加

更新

在MSSQL数据库中,怎样查询不存在的记录并进行添加更新是一个常见的问题。为此,您可使用MERGE语句来实现。

首先,让我们显示一个示例表格,该表具有3列:id,name和age:

| id | Name | Age |

| – | – | – |

| 1 | John Doe | 18 |

| 2 | Jack Smith | 20 |

| 3 | Jane Smith | 25 |

MERGE语句可以帮助您在没有记录时将记录添加到上面的表格中,和在记录存在时将记录更新到该表,以下所示:

“`SQL

MERGE INTO table_name AS target

USING (SELECT 4, ‘James Smith’, 25) AS source(id, name, age)

ON target.id = source.id

WHEN NOT MATCHED THEN INSERT(id, name, age) VALUES(source.id, source.name, source.age)

WHEN MATCHED THEN UPDATE SET name = source.name, age = source.age;


上面的语句将检查表中会不会存在id=4的记录。如果没有找到,则使用SELECT语句查询字段并添加记录到表中。如果id=4的记录存在,则该语句将更新name和age字段的值。

完成后,表格应以下:

| id | Name | Age |
| - | - | - |
| 1 | John Doe | 18 |
| 2 | Jack Smith | 20 |
| 3 | Jane Smith | 25 |
| 4 | James Smith | 25 |
因此,可使用MERGE语句检查表中会不会存在记录并在不存在时添加或更新表中的记录。您也能够使用OUTPUT关键字来输出与插入,更新或删除等操作相关的信息。
阅读剩余
THE END