如何合并/组合两个具有相同结构的sql数据库中的数据?

时间:2014-04-07 10:07:14

标签: c# sql-server

我在C#中编写一个使用SQL Server数据库的程序。

我的程序包含一个空白数据库(示例数据库),允许用户创建新数据库。

例如:

  • 用户1使用我的程序在他的计算机上创建一个新数据库(DB1),然后将一些数据导入/输入DB1
  • 用户2使用我的程序在他的计算机上创建一个新数据库(DB2),然后将一些数据导入/输入DB2

现在,我有两个数据库(DB1,DB2)。您知道如何合并/组合两个数据库以拥有包含所有用户数据的唯一数据库吗?

你能帮助我吗?

请参阅我的演示截图 diagram

2 个答案:

答案 0 :(得分:1)

如果使用适用于您的应用程序的程序,您可以使用MERGE语句来合并您的数据。 要了解有关合并的更多信息,请按照http://msdn.microsoft.com/en-us/library/bb510625.aspx主题

进行操作

添加了OUTPUT使用示例,它显示了如何将插入行的PK插入到其他相关表中。

CREATE TABLE #teachers(
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [name] [nvarchar](15) NOT NULL
)
CREATE TABLE #pupils(
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [name] [nvarchar](15) NOT NULL
)
CREATE TABLE #createdTeachers ([ID] [int])
CREATE TABLE #createdPupils ([ID] [int])

insert into #teachers output inserted.ID into #createdTeachers values ('teacher#2') 
insert into #teachers output inserted.ID into #createdTeachers values ('teacher#1') 
insert into #pupils output inserted.ID into #createdPupils values ('pupil#2')
insert into #pupils output inserted.ID into #createdPupils values ('pupil#1')

select t.ID as NEW_TEACHER_ID,p.ID as NEW_PUPIL_ID from #createdTeachers as t , #createdPupils as p

我没有准备样本,它完全描述了您的图表,但显示了必要的概念。 你可以使用“select t.ID作为NEW_TEACHER_ID,p.ID作为NEW_PUPIL_ID从#createdTeachers作为t,#createPupils作为p”将teacherId,pupilId等插入到Teacher_Pupil表中

答案 1 :(得分:0)

此处提及合并到数据库请参阅:http://msdn.microsoft.com/en-us/library/ms140052.aspx