如何在3个不同的数据库中插入和更新?

时间:2016-12-01 05:59:27

标签: c# mysql sql database sql-server-2008

我有3个不同的数据库database1, database2, and database3

我在每个数据库中都有一个表Account。在我的database1database2Account中,我有3列ID, Username, and Password,在我的数据库3表中,帐户我有4列ID, Username, Password, and db_name

我想要做的是在database1.Account中插入所有database2.Accountdatabase3.Account数据,在第4列中,我需要确定它来自哪个数据库。

顺便说一下,我已经做到了,但我对我的解决方案不满意,因为我花了3个查询。我想尽可能地用1个查询来实现它。如果可能的话。

P.S:抱歉我的英文不好

3 个答案:

答案 0 :(得分:0)

待办事项

INSERT INTO database3.account(ID,Username,Password, db_name)
SELECT ID, Username, Password, "1" FROM database1.account

然后做

INSERT INTO database3.account(ID,Username,Password, db_name)
SELECT ID, Username, Password, "2" FROM database1.account

答案 1 :(得分:0)

使用union可以实现这一点。

INSERT INTO database3.dbo.Account (ID, Username, Password,db_name)
SELECT ID, Username, Password,'database1' FROM database1.dbo.Account
UNION
SELECT ID, Username, Password,'database2' FROM database2.dbo.Account

答案 2 :(得分:-1)

INSERT INTO database3.dbo.Account (ID, Username, Password,db_name)
   SELECT ID, Username, Password,'database1'
     FROM database1.dbo.Account 
     WHERE (some condition)


INSERT INTO database3.dbo.Account (ID, Username, Password,db_name)
   SELECT ID, Username, Password,'database2'
     FROM database2.dbo.Account 
     WHERE (some condition)