Я пытаюсь ввести данные претензии поэтапно. Я сопоставляю источник и цель на System
(varchar
) и ClaimNum
(varchar
), с хэшем других столбцов, чтобы проверить изменения.Условия слияния SQL Server 2008 Условия множественных совпадений
У меня есть слияние заявление (упрощенный):
MERGE target
USING source ON target.System = source.System
AND target.ClaimNum = source.ClaimNum
WHEN MATCHED AND target.HashValue <> source.HashValue
THEN {update claim record data}
WHEN MATCHED AND target.HashValue = source.HashValue
THEN {update claim record as "checked"}
WHEN NOT MATCHED
THEN {insert new claim record}
Однако, я не могу иметь 2 совпавшие условия. Как еще я могу выполнить это с помощью оператора слияния?
Это используется в SQL Server 2008.
Спасибо за ваш ответ; однако у меня есть несколько столбцов, на которые влияет оператор соответствия. Например, мне нужно иметь форму case для условия совпадения, вы знаете? – wk4997
@ wk4997 Затем вы используете несколько операторов case, и если вы не хотите их обновлять, установите только одно значение 'col_name = CASE WHEN condition THEN ... ELSE col_name END' плюс вы можете иметь разные условия для каждого столбца – lad2025