Сравнение источника с целью, а затем сравнение цели с источником еще раз в слиянии? - PullRequest
0 голосов
/ 09 мая 2019

Я смотрел на скрипт слияния и заметил, что скрипт обновляется, если source.column отличается от target.column.

Чего я не понимаю, так это того, почему у них есть две проверки: одна для проверки, отличается ли source.column от target.column, а другая - для проверки, отличается ли target.column от source.column.

Второй NULLIF, который сравнивает цель с источником, кажется мне излишним ...

Кто-нибудь знает, есть ли причина для этого?

WHEN MATCHED AND (
   NULLIF(Source.[code], Target.[code]) IS NOT NULL OR NULLIF(Target.[code], Source.[code]) IS NOT NULL OR 
   NULLIF(Source.[descE], Target.[descE]) IS NOT NULL OR NULLIF(Target.[descE], Source.[descE]) IS NOT NULL THEN
UPDATE SET
  [code] = Source.[code], 
  [descE] = Source.[descE]

Скрипт работает, но я предполагаю, что могу удалить каждую секунду NULLIF, и скрипт все равно будет работать?

1 Ответ

0 голосов
/ 09 мая 2019

За что стоит я с тобой согласен. Если бы я был в вашей ситуации, я бы запустил скрипт слияния в некоторых тестовых базах данных со вторым и четвертым удаленными nullif (), чтобы убедиться, что я получил ожидаемые результаты, прежде чем вносить изменения.

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