zeitlicher Ablauf etwas übersichtlicher:
Code:
Prog 1 Prog 2
-------------------------------------------------------
StartTrans
Insert/Update/Delete
StartTrans
Select -> unveränderte Daten
Commit
Select -> unveränderte Daten
Commit oder Rollback
StartTrans
Select -> geänderte Daten sind sichtbar
In Prog2 sind nur Datenänderungen aus anderen Transaktionen sichtbar, die vor dem Start der eigenen Transaktion mit Commit freigegeben wurden. Das kann man für Spezialfälle über TransactionIsolationLevel anders einstellen, sollte man aber im Normalfall nicht.