To jest dla SQL Server.
Każda instrukcja jest niepodzielna, ale jeśli chcesz, aby procedura składowana była niepodzielna (lub ogólnie dowolna sekwencja instrukcji), musisz jawnie otoczyć instrukcje znakiem
ROZPOCZNIJ TRANSAKCJĘ
Wyciąg ...
Wyciąg ...
POTWIERDZ TRANSAKCJĘ
(Powszechnie używa się skrótów BEGIN TRAN i END TRAN.)
Oczywiście istnieje wiele sposobów, aby wpaść w kłopoty z blokadą, w zależności od tego, co dzieje się w tym samym czasie, więc możesz potrzebować strategii radzenia sobie z nieudanymi transakcjami. (Pełne omówienie wszystkich okoliczności, które mogą skutkować blokadami, bez względu na to, jak wymyślisz ten konkretny SP, wykracza poza zakres pytania.) Ale nadal będą one możliwe do ponownego złożenia ze względu na atomowość. Z mojego doświadczenia wynika, że prawdopodobnie wszystko będzie dobrze, nie wiedząc o wolumenach transakcji i innych działaniach w bazie danych. Przepraszam, że mówię o rzeczach oczywistych.
W przeciwieństwie do popularnego błędnego przekonania, będzie to działać w Twoim przypadku z domyślnymi ustawieniami poziomu transakcji.