2016-02-26 5 views
1

У меня есть резервная таблица с 15 000 строк. Данные были скопированы непосредственно из основной таблицы. Мне нужно выполнить инструкцию UPDATE в главной таблице, используя данные из таблицы резервного копирования. Обе таблицы идентичны по структуре и используют уникальный первичный ключ с идентификатором.Как восстановить данные SQL из одной таблицы в другую

Как проделать таблицу резервного копирования, найти соответствующую запись для каждой строки в основной таблице, а затем заменить каждую запись в главной таблице соответствующей записью в таблице резервного копирования?

Благодаря

EDIT:

Предлагаемое решение основано на комментарий Шона Ланге:

UPDATE a 
SET a.col1 = b.col1 
, a.col2 = b.col2 

FROM table1 a 
INNER JOIN table2 b 
ON a.id = b.id 

ответ

0

Вы можете использовать JOIN обновление для достижения этой цели. Предполагая, что у них есть идентификаторы первичных ключей, они должны быть быстрыми и безболезненными.

UPDATE table1 
SET a.col1 = b.col2 
, a.col2 = b.col2 

FROM table1 a 
INNER JOIN table2 b 
ON a.id = b.id 
+0

Это выглядит хорошо. Я провешу его сегодня вечером и предоставит обратную связь. –

+0

Это хорошо, но вам нужно обновить псевдоним вместо имени таблицы. Бывают моменты, когда они будут путать строки. –

+0

спасибо dfundako. Шон Ланге, ты имел в виду сделать это, как мое предложенное решение выше? –

Смежные вопросы