Этот вопрос очень похож на SQL Server 2005: T-SQL для временного отключения триггера
Однако я не хочу отключать все триггеры и даже не для пакетной команды, а только для одного INSERT.
Мне приходится иметь дело с системой магазинов, где оригинальный автор помещает некоторую логику приложения в триггер (плохая идея!). Эта прикладная логика отлично работает, если вы не пытаетесь вставить данные по-другому, чем исходный "интерфейс администрирования". Моя задача - написать инструмент "импорт из промежуточной системы", поэтому у меня есть все данные. Когда я пытаюсь вставить его, триггер перезаписывает существующий код продукта (а не идентификатор IDENTITY!) С сгенерированным. Чтобы сгенерировать код, он использует автогенерированный идентификатор вставки для другой таблицы, так что я даже не могу работать с @@IDENTITY, чтобы найти только что вставленный столбец и ОБНОВИТЬ вставленную строку с фактическим кодом продукта.
В любом случае, я могу пойти, чтобы избежать крайне неудобного кода (ВСТАВЬТЕ некоторые случайные символы в имя продукта, а затем попытайтесь найти строку со случайными символами для ее обновления).
Итак: есть ли способ отключить триггеры (даже один) для только одного INSERT?