Сообщение об ошибке очень четкое - при использовании merge
, триггеры instead of
должны применяться ко всем или ни к одному из действий, которые может выполнять оператор merge
.
Если ваш merge
имеетinsert
, когда не сопоставлено, и update
, когда сопоставлено, таблица назначения должна иметь либо instead of insert
, либо триггеры instead of update
, либо ни один из них.
Это также хорошо задокументированона странице merge
в документах Microsoft под заголовком Реализация триггера :
Если в целевой таблице включен вставленный триггер INSTEAD OF для вставки, обновите,или удалите действие, выполняемое оператором MERGE, тогда он должен иметь включенный триггер INSTEAD OF для всех действий, указанных в операторе MERGE.