Показать сообщение отдельно
Старый 07.04.2006, 13:08   #4  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Имеем, что каждый чих надо обертывать в транзакции иначе можно наиметь неприятностей ?
Не на каждый чих, а только там, где нам важна согласованность по чтению. По идее, при изменении данных из одного сеанса (а точнее при select forupdate) устанавливается эксклюзивная блокировка (X). Уровень изоляции read uncommitted позволяет второму сеансу читать данные, на которые наложена X-блокировка. Оборачивая наш код в ttsbegin...tts(commit)/(abort) мы говорим SQL Server-у установить еще одну X-блокировку. А так, как две X-блокировки между собой не совместимы, мы гарантированно читаем только подтвержденные данные.