Jeśli wysyłasz zapytania do wszystkich rekordów w jednym zapytaniu i ściągasz je z powrotem za jednym razem, nie ma takiej potrzeby. Wszystko jest uwikłane w niejawną transakcję. Oznacza to, że nawet jeśli odzyskasz milion rekordów i nawet jeśli inne procesy zmieniają rekordy, zobaczysz, jak w tym samym momencie wyglądał cały milion rekordów.
Jedyne sytuacje, w których naprawdę potrzebujesz transakcji (i często konkretnej wskazówki dotyczącej blokowania) w procesie tylko do odczytu, to:
– Czytasz rekordy „kawałkami” i nie potrzebujesz niczego więcej, aby zmienić wartości podczas jednak powtarzać. [Na przykład połączony zestaw rekordów w ADO, przez który przechodzisz.]
- Czytasz pewne dane, wykonujesz obliczenia, a następnie czytasz powiązane dane, ale zakładając, że w międzyczasie nic się nie zmieniło.
Krótko mówiąc, potrzebujesz transakcji, gdy chcesz, aby inne procesy nie zakłócały danych między instrukcjami SQL.