...
fangen wir mal beim einstellen an:
- das ist ein session (= Connection) Eigenschaft
- default ist hierfür, dass in einem Job jede ACTGRP einen eigenen connect hat (Banausen ändern das per STRCMTCTL auf JOB)
- einstellbar beim:
-- CRTSQLxxx
-- STRSQL
-- per exec sql set transaction isolation level...
-- per isolation clause bei sql statements (DB2 only, kein Standard
- default ist:
-- im SQL/400 uncommited read (auch *CHG genannt)
-- SQL Standard fordert serializable (was RLA Programme wg. Table Lock abstürzen lässt)
-- Banausen stellen den default per CHGCMDDFT auf *NONE, weil sie glauben commit brauche man nicht.

Empfehlung:
- immer commit verwenden (SQL Programme sind ohne Commit zumeist fehlerhaft)
- alle Dateien journalisieren
- konsistente Auswertungen erfordern read commited
- bei hohem Trasnaktionsvolumen (sprich: konkurrierende Updates sind wahrscheinlich) erfordern sauberes Vorgehen.

D*B