在两个SQL Server数据库之间迁移数据的脚本

You*_*sef 4 data-migration sql-server-2008

我有两个SQL Server数据库,我需要编写一个脚本来将数据从数据库A迁移到数据库B.两个数据库都具有相同的模式.

我必须遍历表格,对于每个表格,我必须遵循这些规则:

  1. 如果我正在迁移的项目在目标表中不存在(例如,在列上进行比较Name),那么我直接插入它.
  2. 如果我迁移项目目标表存在,那么我只需要更新某些列(例如,只更新AgeAddress,但不触及其他列)

任何人都可以帮助我使用该脚本吗?任何例子都足够了.非常感谢

编辑:

我只需要一个表的例子.无需循环,我可以单独处理每个表(因为每个表都有自己的比较列和更新列)

buc*_*ley 7

MERGE语句看起来可以帮到你.一个例子:

MERGE StudentTotalMarks AS stm
USING (SELECT StudentID,StudentName FROM StudentDetails) AS sd
ON stm.StudentID = sd.StudentID
WHEN MATCHED AND stm.StudentMarks > 250 THEN DELETE
WHEN MATCHED THEN UPDATE SET stm.StudentMarks = stm.StudentMarks + 25
WHEN NOT MATCHED THEN
INSERT(StudentID,StudentMarks)
VALUES(sd.StudentID,25);
Run Code Online (Sandbox Code Playgroud)

合并声明从SQL Server 2008开始提供,因此您很幸运