将数据库2中的值放入当前数据库

时间:2009-04-03 04:32:33

标签: sql sql-server database sql-server-2005

我有一个名为database1的数据库,它包含一个名为employee的表 员工表中有许多字段,如员工,姓名,工资等等。

我错误地将所有员工的工资价值改为0。

我是通过名称database2从备份恢复数据库

现在我需要帮助来更新我当前的数据库,即database1

我想将表employee中的Salary列的值从database2放到我当前的数据库中,该数据库是同一员工表工资列中的database1。

在两个员工表中都很常见,它包含常见的员工列。

使用

的sql 2005服务器

2 个答案:

答案 0 :(得分:2)

UPDATE database1.employees
SET salary = e2.salary
FROM database1.employees AS e1
INNER JOIN database2.employees AS e2
    ON e2.employeecode = e1.employeecode

答案 1 :(得分:0)

您将需要进行跨数据库查询,下面是一个示例。

<强>假设

  1. 这是在Database1上运行的,其帐户可以访问Database2
  2. dbo架构中Database2的表格
  3. 您拥有一切的完整备份
  4. EmployeeId字段是表格中的主键
  5. <强>查询 这个查询适用于MS SQL Server并且已经过测试,但为了以防万一,请确保备份!!

    UPDATE Employee 
    SET Salary = b.Salary
    FROM Employee A
        INNER JOIN database2.dbo.Employee B
            ON (A.EmployeeId = B.EmployeeId)