У меня есть хранимая процедура SQL, которая никогда не заканчивается из-за некоторых значений, которые кэшируются.Но это всего лишь предположение после отладки процедуры.
while @poid is not NULL
BEGIN
Update Item set Sales = (Select Sales from V_ITEM_Hierarchy where POID=@poid) where ItemID=@poid
Select @poid = i.ItemID
from V_ITEM_Hierarchy t inner join Item i on (t.POID = i.POID)
where ( abs(coalesce(t.Sales,0)-coalesce(i.Sales,0)) > 0.0001
END
Я обновляю значение «Продажи» в элементе таблицы на значение «Продажи» для представления с именем «V_ITEM_Hierarchy», а затем снова ищу значения, которые отличаются,Когда я отлаживаю процедуру, оператор выбора всегда возвращает одно и то же значение, даже если значения Sales больше не отличаются, потому что они были обновлены.
Я попытался вставить команду "DBCC DROPCLEANBUFFERS", но оператор выбора все еще возвращает старые значения.