Абсолютно да, транзакция верхнего уровня будет владеть всеми изменениями данных до тех пор, пока не будет зафиксирована или откатана.
Однако я бы посоветовал вам тщательно продумать модель транзакции. Чем больше таких сценариев существует в вашей системе, тем больше вы подвержены проблемам блокировки. Также увеличивается вычислительный расход процедуры.
Примечательно, как часто при рационализации SQL я нахожу транзакции, реализуемые там, где они просто не нужны. Я призываю вас (и всех, кто работает с транзакциями) тщательно продумать, почему вы используете их в каждом контексте и что произойдет, если транзакция не будет выполнена. Просто мой 2с стоит!