поэтому у меня есть хранимая процедура (sql server 2008 r2) что-то вроде этой
BEGIN TRAN
BEGIN TRY
//critical section
select value
update value
//end of critical section
COMMIT
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK
END CATCH
Я хочу, чтобы никакие две хранимые процедуры не читали одно и то же значение. Другими словами, чтение и обновление должно быть атомарным. Этот код делает это? Если нет, то как это сделать?