Здравствуйте, Dianbi, Вы писали:
D>если оба селекта обернуть в транзакцию с "самым крутым"
isolation level
D>никто ничего не удалит пока она не завершится
да, это понятно, вот пример
В одном окне Query Analizer запускаем
create table Parent(ParentId int)
create table Child(ParentId int)
insert Parent values(1)
insert Parent values(2)
insert Parent values(3)
insert Child values(1)
insert Child values(2)
insert Child values(3)
set transaction isolation level repeatable read
begin tran
select * from Parent
declare @i int
set @i = 0
while @i < 100000 set @i = @i + 1
select * from Child
commit tran
drop table Parent
drop table Child
и, пока читает, в другом окне
begin tran
delete Parent
delete Child
commit tran
Давайте с транзакциями не будем продолжать, интересует вариант без них.