Спасибо, что взглянули на это.
Проблема связана со следующим SQL-запросом. По сути, он рекурсивно находит все страницы под определенной страницей (главной страницей), а затем применяет категории главной страницы (поиск в xref_pages_categories) ко всем этим страницам.
После запуска вставки запрос таблицы для данных, которые должны были быть вставлены, полностью зависает.
Если я запускаю запрос без строки вставки, результаты возвращаются идеально, как:
3245 490
3249 490
3252 490
Но после размещения вставки перед ней и вставки, запрос для pageid = 3245 просто зависает. Есть идеи?
declare @page int;
set @page=3202;
begin transaction transki;
With FindAllPagesUnderneath(PageID, ParentID) as
(
select id as PageID, ParentPageId as ParentID
from pages where id=@page
union all
select id as PageID, ParentPageID as ParentID
from pages p
inner join FindAllPagesUnderneath mp on
p.parentpageid=mp.PageID
)
insert into xref_pages_categories (PageID, CategoryID)
--get records that definitely arent already in xref_pages_categories
select * from
(
select distinct thegood.*
from
(
--get all pages under @page attached to new categoryid
select distinct fap2.PageID, fapo.CategoryID
from FindAllPagesUnderneath fap2
cross join (
select fap.PageID,xpc.categoryid
from xref_pages_categories xpc
inner join FindAllPagesUnderneath fap
on fap.PageID=xpc.pageid
where fap.pageid!=1 and
fap.pageid!=1332
and fap.parentid=1332
) fapo
where fap2.pageid !=@page
) thegood
left outer join xref_pages_categories xpc
on xpc.pageid = thegood.pageid
where xpc.pageid is null
) final