Во-первых, уровнем изоляции по умолчанию в SQL Server является Read Committed, так что оператор на самом деле ничего не делает, если вы не изменили уровень изоляции по умолчанию.
Но, в общем, да, SET Transaction Isolation Level изменит уровень изоляции для всей процедуры (фактически, продолжительность соединения)
Имейте в виду, что все операторы SQL являются неявными транзакциями, что означает, что, например, если обновление завершится неудачно на 99%, оно будет автоматически откатываться; нет BEGIN TRAN/COMMIT
необходимо.
Чтобы ответить на ваш вопрос, да, ваши операторы SELECT наследуют заданный вами уровень изоляции (или уровень по умолчанию, если вы его не устанавливаете), если вы не переопределите поведение с помощью подсказки запроса, такой как WITH NOLOCK
, которая сделает отдельный запрос ведите себя так, как будто вы SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED