У меня есть две таблицы.
Таблица A и Таблица B. Столбцы одинаковые.
create table TableA (
id int
, name varchar
, last datetime
)
create table TableB (
id int
, name varchar
, last datetime
)
Заполняю таблицу A данными о массе.и я хотел бы либо вставить, либо обновить данные в таблице A в таблицу B.
Я хотел бы взять данные из таблицы A и либо вставить в таблицу B, если имя и имя совпадают, либо обновить, еслиID и имя совпадают.
Я попробовал какой-нибудь инструмент ETL, но результат был очень медленным.У меня есть индексирование по идентификатору и имени, я хотел попробовать это с SQL.
У меня есть следующее, но не работает правильно:
SELECT @id = ID,
@name = name,
@LSDATE = LastSeen_DateTime
FROM DBO.A
IF EXISTS (SELECT ID, name FROM DBO.A
WHERE @ID = ID AND @name = Name)
begin - обновление конец, иначе begin --insertend
Полагаю, мне нужно поместить это в цикл, и я не совсем уверен, как мне это сделать.
Спасибо.