1
Я пытаюсь обновить записи в таблице Sql Server 2012 с помощью оператора MERGE. У меня есть целевая таблица и моя исходная таблица. Когда поле ID совпадает, я хочу заменить всю строку соответствующей строкой из источника, а если нет, добавьте строку в таблицу как новую строку. Я не знаю, что написать после набора обновлений (?), Чтобы достичь этого. Вот мой код:Merge Statement, переписывающий целую строку, если соответствует
USE DataCompany
MERGE INTO MasterAddress ma
USING MasterAddressStaging ms
ON MasterAddress.ID = MasterAddressStaging.ID
WHEN MATCHED THEN
UPDATE SET (?)
WHEN NOT MATCHED THEN
INSERT (ID
,CompanyName
,CompanyNumber
,RegAddress_CareOf
,RegAddress_POBox
,RegAddress_AddressLine1
,RegAddress_AddressLine2
,RegAddress_PostTown
,RegAddress_County
,RegAddress_Country
,RegAddress_PostCode)
VALUES (ms.ID
,ms.CompanyName
,ms.CompanyNumber
,ms.RegAddress_CareOf
,ms.RegAddress_POBox
,ms.RegAddress_AddressLine1
,ms.RegAddress_AddressLine2
,ms.RegAddress_PostTown
,ms.RegAddress_County
,ms.RegAddress_Country
,ms.RegAddress_PostCode);
спасибо за вашу помощь
если кто-то имеет тот же вопрос и используя псевдонимы, они должны быть последовательны в заявлении о –
необходимо определить каждый столбец? есть ли способ вставить/обновить всю строку в более короткой строке? – HEDMON