Мне кажется, что я должен это знать, но я не могу найти ничего, что конкретно обрисовывает это, поэтому здесь.SQL Server 2012 - Как работает уровень изоляции «Повторяемый Чтение»?
The documentation для SQL Server описывает REPEATABLE читаться как:
Указывает, что заявления не может читать данные, которые были изменены, но еще не совершенных другими транзакциями, и что никакие другие операции могут изменять данные, которые были прочитана текущей транзакции до текущая транзакция не завершает
Это имеет смысл, но что на самом деле происходит , когда возникает одна из этих ситуаций? Если, например, транзакция A считывает строку 1, а затем транзакция B пытается обновить строку 1, что произойдет? Транзакция B ожидает завершения транзакции A, а затем повторите попытку? Или это исключение?
Правильно, поэтому он * ждёт *, то? Таким образом, транзакция A на самом деле не предотвращает транзакцию B *, которая делает обновление, она просто заставляет дождаться завершения транзакции A до этого? – bornfromanegg
Он ждет, прежде чем писать или читать эту конкретную строку. Разве не ясно, что он ждет? – usr