Здравствуйте, IZM, Вы писали:
IZM>Я вот только понять не могу зачем смотреть незакоммиченные данные из другой транзакции?
IZM>Пример: IZM>1. Открывается подключение к базе данных Test и начинается транзакция. Уровень ее изоляции по умолчанию ReadCommitted IZM>2. Открывается еще одно подключение и начинается еще одна транзакция. Уровень ее изоляции сделаем ReadUncommitted. IZM>3. Из первой транзакции вставляется строка в таблицу Cat_Contr (контр агента добавили) коммит не делаем — может нам такой контр не нужен или это просто бухгалтер свои знания тестирует IZM>4. Из второй транзакции выполняется чтение этой строки (Уровень изоляции позволяет читать незакоммиченные данные), далее их можно использовать дальше в других таблица. Но если первая транзакция сделает откат — целостность и согласованность данных можно потерять.
IZM>Если Вы хотите осложнять себе жизнь — пожалуйста
Интересно — а кто себе жизнь осложняет с помощью ReadUncommitted? Если я правильно напряг свои мозги то такого в IB/FB просто нет. И никто не смотрит незакомиченные данные ни в одном примере. Выборка и фетч делаются по ЗАКОМИЧЕННЫМ данным, т.е. они есть в БД, а в каком состоянии стартует транзакция на выборку мне например глубоко по барабану (тем более что можно и в SNAPSHOT стартовать ее, если делать запись данных в другой транзакции).
Вообще почитал, и мне стало интересно — а те кто пишут про просмотр "незакомиченных" данных при обычном селекте хоть что-нибудь про транзакции IB/FB знают или нет? Похоже что нет.
Вопрос на засыпку — какие типы транзакций существуют в IB/FB. Кто из тех кто против IB/FB сможет ответить? Или просто не знаете?