Как настроить операцию MERGE для продолжения выполнения после ошибки - PullRequest
0 голосов
/ 21 октября 2019

Можно ли настроить операцию MERGE для продолжения ее выполнения после неудачных ограничений, например, при попытках вставить NULL, FK или PK? У меня есть простая MERGE

MERGE Test1 AS t1
USING Test2 AS t2
ON t1.a = t2.d
WHEN NOT MATCHED BY TARGET
    THEN 
        INSERT(a, b, c)
        VALUES(d, e, f)   

Я видел здесь , что с Oracle DB можно поместить инструкцию [LOG ERRORS] после MERGE, чтобы пропустить первые N ошибок и простозапишите их:

LOG ERRORS INTO TAB_ERR_COPY_EMP('TAG_STATEMENT') REJECT LIMIT 100;

Могу ли я использовать подобный обходной путь с SQL SERVER 2016 SP1 или это плохая практика в целом?

Зачем мне это нужно - я пытаюсь создать настраиваемое MERGE (с N таблицами и N полями) для ежедневной интеграции с другими системами, и иногда могут быть разные данные разных типов или без удовлетворения некоторых FK. Поэтому я хочу пропустить некоторые проблемные поля, но большая часть моих данных интегрирована.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...