2014-02-27 65 views
-1

我有两个数据库为例(A和B)。我已经做了一个水晶报告,它从数据库'B'中取值。但是现在我想用一个唯一的ID将这个报告上传到数据库'A'。当用户看到报告时,程序将从数据库'A'中获取报告。报告将从数据库'B'中获取数据。需要一些建议。如何通过从其他数据库获取数据将数据插入数据库?

+0

这不是我的意思。 – Habib

+0

你的独特ID在哪里生成?在前端(即asp.net端)或sql服务器端?它是在获取记录之前还是在获取记录之后生成的? – samar

+0

这有点令人困惑......您在哪里上传报告以及如何生成唯一ID?你能否详细说明 – Siva

回答

-1

假设您正在调用存储过程来为您的报告提取数据。

在你的SP写你的SELECT语句为您的报告后,您可以从databaseB本身

火插入查询databaseA如果你的数据库是在不同的服务器和两台服务器可以谈,你可以用做SQL插入语句。

第一次运行您的第一台服务器上执行以下操作:

Execute sp_addlinkedserver SERVER_NAME1 

然后,只需创建插入语句:

INSERT INTO [SERVER_NAME1].DATABASE_NAME.dbo.TABLE_NAME (Names_of_Columns_to_be_inserted) 
SELECT Names_of_Columns_to_be_inserted 
FROM TABLE_NAME 

如果这两个数据库都在同一台服务器上,那么你可以排除[SERVER_NAME1 ]部分来自上述查询。

如果这不能解决您的查询,请详细说明您的问题。

希望这有助于

+0

感谢您的帮助。 – Habib

+0

如果您发现此答案有帮助,请立即和/或标记为答案。 :) – samar

+0

哇..答案被标记为接受,仍然得到一个downvote!谨慎解释为什么downvote? – samar

2

我们可以从一个表复制所有列转移到另一个,现有的表:

INSERT INTO table2 
SELECT * FROM table1; 

或者我们可以只复制我们要到另一列,现有表:

INSERT INTO table2 
(column_name(s)) 
SELECT column_name(s) 
FROM table1; 
相关问题