2013-05-14 55 views
0

我目前正在幫助我的公司重新設計CRM。
他們計劃擴展CRM以從另一個軟件使用的另一個數據庫中讀取數據。
需要來自其他數據庫的數據的Web應用程序

所有數據庫都使用mssql技術。
其實,我們公司有三個品牌,每個品牌的數據都存儲在不同的mssql數據庫中。

Brand1: 
Customer 
Invoice 
Payment 

Brand2: 
Customer 
Invoice 
Payment 

Brand3: 
Customer 
Invoice 
Payment 

在我的新數據庫模式設計中。客戶將有多張發票,每張發票都會收到多筆付款。

它是理想讓所有的數據在我的新設計的數據庫來存儲,因爲我可以提取最新的支付是這樣的:

SELECT [Everything I want] 
FROM Customer 
INNER JOIN Invoice WHERE Invoice.customer_id=Customer.id 
INNER JOIN Payment WHERE Payment.invoice_id=Invoice.id 

但現在我需要做的連接三個數據庫,獲取數據從他們身上,並結合結果產生這樣的數據結構:

{ 
    customers:[ 
    { 
     customer_name: cato, 
     invoices:[ 
     { 
      invoice_id: 1, 
      payments: [bla,bla,bla] 
     } 
     ] 
    } 
    ] 
} 

現在,我的公司就想到了用觸發的,但它是很難維持的。有沒有更好的選擇可以完成這項工作?

回答

0

是,SQL有一個很好的解決方案, 其實你需要的是SQL複製, 它可以讓你從遠程數據庫「複製」表到地方,首先你的表複製到本地,然後的能力你設置複製和遠程數據庫將轉發他的所有插入,更新等命令您的數據庫,所以實際上,您的本地複製表將始終與遠程同步 take a look at it同步並按照教程進行復制

+0

我可以不只是將整個表格複製到我最新設計的數據庫中嗎?我想做一些模式更改。 – 2013-05-14 08:25:44

+0

你最好像我說的複製和「重新設計」它的視圖 – Dima 2013-05-14 20:10:12

相關問題