需要其他数据库数据的Web应用程序

时间:2013-05-14 07:49:46

标签: php sql-server database codeigniter

我目前正在帮助我的公司重新设计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]
        }
      ]
    }
  ]
}

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

1 个答案:

答案 0 :(得分:0)

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