это sql серверная транзакция атомарная

поэтому у меня есть хранимая процедура (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

Я хочу, чтобы никакие две хранимые процедуры не читали одно и то же значение. Другими словами, чтение и обновление должно быть атомарным. Этот код делает это? Если нет, то как это сделать?

7
задан ren 15 September 2011 в 12:07
поделиться