Проблемы
Предположим, что вы используете инструкцию MERGE, чтобы узнать, сколько строк не соответствует источнику, и сохранить его в локальной переменной, как показано ниже.
DECLARE @NotMatchedBySource INT = 0;
СЛИЯНИе TargetTable с помощью SourceTable в TargetTable.id = SourceTable. idWHEN, не СОВПАДАЮЩей с источником, UPDATE SET @NotMatchedBySource = @NotMatchedBySource + 1;
@NotMatchedBySource печати; Щелкните
В этой ситуации можно заметить, что значение @NotMatchedBySource после инструкции MERGE может не отражать фактическое количество строк, не совпадающих с источником.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Решение
Эта проблема исправлена в перечисленных ниже накопительных обновлениях для SQL Server.
-
Накопительное обновление 7 для SQL Server 2016 с пакетом обновления 2 (SP2)
-
Накопительное обновление 4 для SQL Server 2014 с пакетом обновления 3 (SP3)
Сведения о накопительных обновлениях для SQL Server.
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Ссылки
Сведения о терминология , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.