Параллельная обработка хранимой процедуры - PullRequest
0 голосов
/ 29 апреля 2019

Моя хранимая процедура выглядит следующим образом.

Я поддерживаю RowVersion в таблице A.

  1. Начинает транзакцию
  2. Чтение RowVersion из таблицы A rw1
  3. ...
  4. Некоторые расчеты
  5. ...
  6. Считать RowVersion из таблицы A как rw2
  7. Обновить некоторые таблицы, включая таблицу A
  8. IF (RW1 == RW2)
  9. COMMIT
  10. ELSE
  11. ROLLBACK

В настоящее время я использую READ COMMIT в качестве уровня изоляции, но при его обновлении Таблица A RowVersion также меняется.

Цель: когда два или более пользователей вошли в систему и одновременно нажали кнопку (которая выполнит этот SP), сначала один только выполняет SP и не позволяет другому выполнить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...