【发布时间】:2017-09-22 09:10:22
【问题描述】:
我有两个服务,我想在数据库表中保持同步,所以如果 service1 更新 table1,那么我也想更新 table2。如果 service2 更新 table2 那么我也想更新 table1。
我可以在 table1 上编写一个触发器来更新 table2,然后再在 table2 上编写一个触发器来更新 table1?这会造成循环吗?
【问题讨论】:
-
没有办法将一个触发器链接到两个表,除非您创建一个隐藏两个表的可更新视图映射所有应用程序代码以使用此视图。但此解决方案仅在您从头开始开发新应用程序时才有用。
-
这似乎不是最好的设计 - 要么有 1 个表,要么同时更新两者。但是如果你不能这样做,那么你可以在触发器中添加一个检查,并且只有在值不同时才更新,否则你可能会陷入循环
标签: sql-server