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