.NET /SQLServerトランザクションがどのように機能するかを基本的に理解していないことに気づきました。「ばかげた質問などない」という包み込みを押し進めているような気がしますが、私が読んだすべてのドキュメントを理解するのは簡単ではありません。答えがほとんど「はい/いいえ」になるように、この質問を表現しようと思います。
これを効果的に実行している1台のマシンで.NETプロセスを実行している場合(実際のコードではありません):
For i as Integer = 0 to 100
Using TransactionScope
Using SqlClient.SqlConnection
'Executed using SqlClient.SqlCommand'
"DELETE from TABLE_A"
Thread.Sleep(5000)
"INSERT INTO TABLE_A (Col1) VALUES ('A')"
TransactionScope.Complete()
End Using
End Using
Next i
'SELECT count(*)FROM TABLE_A'が他のプロセスから実行されたときに常に'1'を返すトランザクション/分離レベルの構成はありますか(つまり、テーブルに行がない場合は5秒のチャンクがあります)トランザクションのコンテキストで)?