если оба селекта обернуть в транзакцию с "самым крутым"

isolation level
никто ничего не удалит пока она не завершится
> Не врубился ты. Вот объясняю на пальцах.
>
> begin transaction с самым крутым isolation level
>
> >
> select id, val from DocPart1 where parentId=5;
>
> //выбираем список частей 1, он соответствует документу 5.
>
> // в этот момент времени кто-то в другой транзакции удаляет весь
> документ 5 и все его части.
>
> select id, weigh from DocPart2 where parentId=5;
>
> //список частей пуст! Т.к. всё удалено. И никакие транзакции тут не
> помогут.
>
>
>
> Получилось, что документ 5 отобразится пользователю со правильным
> списком частей 1 и с пустым списком частей 2. Что и является ошибкой с
> т.з. предметной области.
> Posted via RSDN NNTP Server 2.1 beta