Я получаю следующую ошибку при выполнении следующего запроса в хранимой процедуре.Может ли кто-нибудь помочь в обнаружении ошибки?
UPDATE не допускается, поскольку оператор обновляет представление "sup_item", которое участвует в соединении и имеет триггер INSTEAD OF UPDATE.
UPDATE si
SET
name = mc.name,
sup_item_cat_id = mc.res_sup_item_cat_id,
xf_value = mc.xf_value,
ava_start_date = mc.ava_start_date,
ava_end_date = mc.ava_end_date,
status_code = mc.status_code,
last_mod_us_id = CASE WHEN mc.last_mod_us_id = 42 THEN @posting_us_id
ELSE mc.last_mod_us_id END,
last_mod_tsp = CURRENT_tsp
FROM sup_item AS si
JOIN merch_cat_imp_sup_item AS mc
ON mc.sup_id = si.sup_id
AND mc.res_sup_item_id = si.sup_item_id
AND mc.cat_imp_event_id = @cat_imp_event_id
AND mc.accept_flag = 'y'
WHERE si.shi_flag = 'n'
Я нашел ссылку: http://msdn.microsoft.com/en-us/library/ms177523.aspx
Представление с триггером INSTEAD OF UPDATE не может быть целью UPDATE с предложением FROM.
Поэтому мне нужно переписать оператор UPDATE (он все еще может быть в процедуре), чтобы НЕ использовать sup_item
(который является представлением), но при необходимости сохранить базовые таблицы.
Может кто-топерепишите пожалуйста, если кто знает что делать?