应用对象
SQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症状

假设你使用 MERGE 语句查明源中不匹配的行数,并将行存储在一个局部变量中,如下所示:

声明 @NotMatchedBySource INT = 0;

合并 TargetTable 使用 SourceTable TargetTable.id = SourceTable 与源相匹配,则更新 SET @NotMatchedBySource = @NotMatchedBySource + 1;

打印 @NotMatchedBySource;转向

在这种情况下,你可能会注意到,在 MERGE 语句后 @NotMatchedBySource 的值可能不反映与源不匹配的实际行数。

状态

Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。

解决方案

此问题已在 SQL Server 的以下累积更新中修复

关于 SQL Server 的累积更新:

SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

参考

了解  terminology Microsoft 用于描述软件更新的术语。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。