Почему не требуется объявлять начало транзакции?

#sql

#sql

Вопрос:

Название объясняет все. Почему не требуется объявлять начало транзакции, но необходимо явно объявить их конец?

Ответ №1:

Потому что можно определить, когда транзакция должна быть запущена — когда выполняется первый оператор (есть возможность явно BEGIN указать это, поскольку вы можете захотеть ввести его до того, как какие-либо операторы будут готовы к запуску).

Но это не очевидно, когда вы закончите. Вы можете завершить логическую единицу работы после этого запроса или через 10 часов и еще миллион запросов.