0

我目前正在帮助我的公司重新设计 CRM。
他们计划扩展 CRM 以从另一个软件使用的另一个数据库中读取数据。

所有数据库都使用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]
        }
      ]
    }
  ]
}

现在,我的公司考虑使用触发器,但很难维护。有没有更好的选择可以完成这项工作?

4

1 回答 1

0

是的,sql 对此有一个很好的解决方案,实际上您需要的是 sql 复制,它使您能够将表从远程数据库“复制”到本地,首先将表复制到本地,然后设置复制和远程数据库将转发他所有的插入、更新等。命令您的数据库,所以事实上,您的本地复制表将始终与远程同步, 看看它并按照教程进行复制

于 2013-05-14T07:56:42.197 回答