症状
假设使用 MERGE 语句找出源未匹配的行数,并将其存储在局部变量中,如下所示:
DECLARE
@NotMatchedBySource INT = 0;
MERGE TargetTable USING SourceTable ON TargetTable.id = SourceTable.id
当 SOURCE THEN 不匹配时
UPDATE SET @NotMatchedBySource = @NotMatchedBySource + 1;
PRINT @NotMatchedBySource;
去
在这种情况下,你可能会注意到,MERGE 语句后 @NotMatchedBySource 的值可能不会反映源不匹配的实际行数。
状态
Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。
解决方法
此问题已在以下累积更新中修复SQL Server
关于SQL Server的累积更新:
SQL Server的每个新累积更新都包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看SQL Server的最新累积更新:
参考资料
了解 Microsoft 用于描述软件更新的术语。