Если использовать no_rec_version, то изменить данные, которые уже
изменены в другой завершённой транзакции, будет не возможно.

ошибка. изменить их всегда невозможно в этом случае,

ты уверен? может сейчас что-то изменилось, но вот этот пример когда-то работал без проблем для read committed и rec_version (псевдо-код):

  A.startTransaction();
  B.startTransaction();

  A.selectRowById(accountId = 1);      // balance = 5
  B.selectRowById(accountId = 1);      // balance = 5

  A.updateRowById(accountId = 1,
      set balance = balance - 3);
A.commit(); // now balance is 2, but B believes it is 5

B.updateRowById(accountId = 1, // <--- Ups! we get no lock conflict!
      set balance = balance - 4);
  B.commit();                          // now balance is -2, not 1

а вот
no_rec_version препятствует не изменению, а ЧТЕНИЮ измененных но
не committed записей.

это да :)

Роман

Ответить