修正: 2014、2016、2017、SQL Server を実行しないで、要求された前の行の割り当て行ごとにローカル変数の割り当てを実行する、MERGE ステートメントを使用する場合

適用対象: SQL Server 2016 Service Pack 2SQL Server 2016 DeveloperSQL Server 2016 Enterprise

現象


行の数がソースに対応していないと、次のようにローカル変数に保存を確認するのには、MERGE ステートメントを使用することを想定しています。

@NotMatchedBySource INT を宣言 = 0 になります。

差し込み印刷の TargetTable を使用した SourceTable に TargetTable.id SourceTable.idWHEN ソースは、更新プログラムのセットで MATCHED ないの = @NotMatchedBySource = @NotMatchedBySource + 1 になります。

印刷 @NotMatchedBySource。移動

このような場合は、MERGE ステートメントの後に@NotMatchedBySourceの値がソースに対応していない行の実際の数を反映可能性がありますいない場合があります。

状態


マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

解決方法


この問題は、SQL Server の次の累積的な更新プログラムで修正します。

に関する SQL Server 用の累積的な更新。

SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていた、すべての修正プログラムおよびすべてのセキュリティ更新プログラムが含まれています。以下で、SQL Server 用の最新の累積的な更新プログラムを確認してください。

参照情報


については、  用語集Microsoft を使用して、ソフトウェア更新プログラムについて説明することです