por lo que tienen un algo procedimiento almacenado (SQL Server 2008 R2) como estoes de transacción del servidor SQL atómica
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
quiero no hay dos procedimientos almacenados leen el mismo valor. En otras palabras, leer y actualizar debe ser atómico. Este código hace esto? Si no, ¿cómo lo hago?
¿Puede proporcionar más detalles de su caso específico? Esta es una pregunta muy general y es posible que ya existan buenos patrones para lo que estás tratando de hacer. –
, el mismo procedimiento se llama ~ simultáneamente y cada uno debe obtener un contador único (es decir, lee el contador y lo incrementa). Y el contador debe incrementarse gradualmente (sin valores aleatorios) – ren
Puede incrementar un contador en una sola declaración de actualización, no necesita una lectura por separado. 'ACTUALIZAR Foo SET counter = counter + @ increment' pero quizás no he entendido lo que estás tratando de hacer. –