Я получаю следующую ошибку при выполнении следующего запроса в Хранимой процедуре. Кто-либо мог помочь в нахождении отказа?
ОБНОВЛЕНИЕ не позволяется, потому что обновления оператора просматривают "sup_item", который участвует в соединении и имеет триггер ОБНОВЛЕНИЯ INSTEAD OF.
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 (это все еще может быть в процедуре) НЕ использовать sup_item
(который является представлением), но сохраните базовую таблицу (таблицы) по мере необходимости.
Кто-то мог переписать его, если кто-либо знает, что сделать?
Проблема не в вашем запросе. Согласно комментариям к вашему вопросу, сущность, которую вы обновляете [sup_item], на самом деле не является таблицей, это представление. Это представление имеет триггер INSTEAD OF UPDATE.
Можете ли вы опубликовать SQL для представления и триггера(ов)?
.