私はすでに数時間これで頭を悩ませてきました... これが起こっていることです:
私はこの声明を実行します
SELECT STATUS FROM [dbo].[TMP_TEST_CALL_LIST] where identity = '659303186000000000'
次の結果が得られます (単一行):
「よ」
次に、このステートメントを実行します
update [dbo].[TMP_TEST_CALL_LIST] set status='Z' where identity = '659303186000000000'
そして私はこれを手に入れます!!!:
(1 行が影響を受けます)
(1 行が影響を受けます)
あたかも 2 つのステートメントが実行されたかのように!
しかし、それはさらに悪化します...次のように実行しても:
update [dbo].[TMP_TEST_CALL_LIST] set status='Z' where identity = '659303186000000000' AND status ='Y'
同じ「二重」の結果が得られます。そして、どのレコードにも一致しない WHERE 句を使用して実行すると、影響を受ける行が 0 行であることがわかります... 2 回。
(さらに) 恐ろしいことは、これが DB 内の一部のテーブルで発生していて、他のテーブルでは発生していないことです。テーブルの違いがわかりません。
ヘルプ !! !
ありがとう。
注: これは SQL Server 2008 R2 です