2014-02-27 103 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; 
相關問題