簡體   English   中英

如何同步兩個不相同的表?

[英]How to sync two tables that are not identical?

我有兩個使用相同數據的項目。 但是,此數據保存在2個不同的數據庫中。 這兩個數據庫中的每個數據庫都有一個與另一個數據庫中的對應表幾乎相同的表。

我在尋找什么

我正在尋找一種同步兩個表的方法。 更簡單地說,如果database_one.table獲得插入,則需要將同一記錄插入database2.table

數據庫和表一

Table Products
| product_id | name | description | price | vat | flags |

數據庫和表二

Table Articles
| articleId | name_short | name | price | price_vat | extra_info | flags |

問題

我從未使用過,也不知道如何使用任何數據庫同步方法。 還讓我擔心的是,表並不相同,因此我將需要以某種方式將列相互映射。

例如:

database_one.Products.name -> database_two.articles.name_short

有人可以幫我弄這個嗎?

您可以使用MERGE函數: https : //www.mssqltips.com/sqlservertip/1704/using-merge-in-sql-server-to-insert-update-and-delete-at-the-same-time/

然后創建一個以所需頻率運行的過程,或者如果需要立即運行,則將合並插入觸發器。

一種可能的方法是使用觸發器。 您需要在database_one.table上創建用於插入,更新和刪除的觸發器,該觸發器在database2.table上執行核心響應操作。 我想,兩個數據庫之間的插入/更新/刪除不會有任何問題。 使用觸發器時,可以非常輕松地映射列。 但是,您需要考慮使用觸發器的優缺點- 在此處此處閱讀某些內容。 根據我的經驗,性能非常重要,因此,如果數據庫負載很重,那么使用觸發器進行數據復制不是一個好主意。 也許您也應該檢查一下

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM