Der SQL Standard fordert unterschiedliche Commit Level und definiert die Anforderungen an diese und alle nennenswerten Datenbanksysteme unterstützen diese (mehr oder weniger), das gilt für DB2/400 genauso wie für DB2 UDB und auch MSSQL.

Einer dieser Sperrlevel ist committed read, der eben gerade sicherstellt, dass man keine geänderten Daten aus noch nicht abgeschlossenen Transaktionen sieht! (Nur unter Einsatz von Transaktionssteuerung kann man auch auf einer DB2/400 jederzeit konsistente Auswertungen ziehen und braucht keine Offline Zeiten!).

D*B

Zitat Zitat von Fuerchau Beitrag anzeigen
Für die Transaktionssteuerung kann man ggf. noch auf komplette Sperre der gelesenen Sätze gehen, die bis zum Commit gesperrt bleiben.
Ob MSSQL sowas überhaupt unterstützt, weiß ich auch nicht.

Ausserdem können Daten von anderen Sitzungen aus trotzdem gelesen werden.