SQLite wykonuje dowolne blokowanie w celu implementacji schematu transakcji opisanego w instrukcjach SQL. W szczególności, jeśli nie opisujesz żadnego, otrzymujesz automatyczne zatwierdzanie, z blokadą utrzymywaną przez czas trwania każdej instrukcji, a następnie upuszczoną po zakończeniu wyciągu. Jeśli potrzebujesz dłuższych transakcji (często prawdziwe!), Zapytaj o nie jednoznacznie za pomocą BEGIN TRANSACTION
(często skróconej do BEGIN
) i zakończ z COMMIT TRANSACTION
(lub ROLLBACK TRANSACTION
). Obsługa transakcji jest często pakowana za pomocą interfejsu językowego (ponieważ znacznie ułatwia to uzyskanie poprawności, łączenie czasu trwania transakcji z blokiem kodu lub wywołaniem metody), ale na poziomie podstawowym sprowadza się do BEGIN
/COMMIT
/ROLLBACK
.
Krótko mówiąc, masz transakcje. Blokady są używane do transakcji implementacji. Nie masz surowych blokad (co jest dobre, są one raczej trudniejsze do uzyskania, niż mogłoby się wydawać na pierwszy rzut oka).