положить значения из базы данных2 в мою текущую базу данных - PullRequest
0 голосов
/ 03 апреля 2009

У меня есть база данных по имени database1, и она содержит таблицу по имени сотрудника В таблице сотрудников есть много полей, таких как сотрудник, имя, зарплата и т. Д. И т. Д.

по ошибке меняю значение зарплаты 0 для всех сотрудников.

Я восстановил базу данных из резервной копии по имени database2

Теперь мне нужна помощь, чтобы обновить мою текущую базу данных, которая является database1

Я хочу поместить значение столбца Зарплата в таблице employee из базы данных2 в мою текущую базу данных, которая является database1 в том же столбце зарплаты таблицы сотрудников.

общее в обеих таблицах сотрудников, оно содержит общий столбец сотрудников.

SQL Server 2005 с использованием

Ответы [ 2 ]

2 голосов
/ 03 апреля 2009
UPDATE database1.employees
SET salary = e2.salary
FROM database1.employees AS e1
INNER JOIN database2.employees AS e2
    ON e2.employeecode = e1.employeecode
0 голосов
/ 03 апреля 2009

Вам потребуется выполнить кросс-запрос к базе данных, ниже приведен пример.

Предположения

  1. Это выполняется в базе данных1 с учетной записью, имеющей доступ к базе данных2
  2. Таблица в базе данных 2 в схеме dbo
  3. У вас есть ПОЛНЫЕ резервные копии ВСЕГО
  4. Поле EmployeeId является первичным ключом в таблице

Запрос Этот запрос работает на MS SQL Server и был протестирован, но на всякий случай ОБЯЗАТЕЛЬНО ИМЕЙТЕ РЕЗЕРВНЫЕ КОПИИ !!

UPDATE Employee 
SET Salary = b.Salary
FROM Employee A
    INNER JOIN database2.dbo.Employee B
        ON (A.EmployeeId = B.EmployeeId)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...