Verwenden von Microsoft SQL Server Management Studio 2008. Ich habe eine einfache Transaktion durchgeführt:
%Vor%Also sollten SELECT und UPDATE identisch sein. Und das Ergebnis sollte 0 Zeilen zurückgeben. Aber das UPDATE wirkt sich auf eine Zeile weniger aus als das SELECT von DB:
(61 Zeile (n) betroffen)
(60 Zeile (n) betroffen)
(0 Zeile (n) betroffen)
Was fehlt mir hier?
Ich vermute, der wahrscheinlichste Grund dafür ist, dass Table_a in Ihrem Beispiel eine Zeile mit einer doppelten ID enthält. Dies ist eine zusätzliche Zeile, die in der Verknüpfung in Ihrer ersten select
, aber nur in der update
erscheint befasst sich mit Zeilen in Tabelle_b, so dass Ihre doppelte Zeile keine Rolle spielt. Diese Aussage sollte Ihnen den Schuldigen geben:
Tags und Links sql-server select tsql rows-affected