我测试SymmetricDS,我有一些疑问哪种方式,我应该使用同步一些特定的表。 我有两个应用程序,第一个是ERP,第二个是一个PDV。 有些表可以同步到所有PDV数据库,但是在某些表格的行应该同步到特定的PDV实例:
在该图中,红色矩形显示哪些表需要同步,绿色箭头显示列在这里我们可以识别哪些SymmetricDS实例将同步。 我的问题是:哪种方法,我应该用它来做到这一点(BSH,子查询,LookupTable中,等等),我该怎么办呢?
我测试SymmetricDS,我有一些疑问哪种方式,我应该使用同步一些特定的表。 我有两个应用程序,第一个是ERP,第二个是一个PDV。 有些表可以同步到所有PDV数据库,但是在某些表格的行应该同步到特定的PDV实例:
在该图中,红色矩形显示哪些表需要同步,绿色箭头显示列在这里我们可以识别哪些SymmetricDS实例将同步。 我的问题是:哪种方法,我应该用它来做到这一点(BSH,子查询,LookupTable中,等等),我该怎么办呢?
你需要一个子查询的路由器(实际上,你需要三个)。 我只告诉你的SQL Funcionario
,那么你就可以找出对配置Cadastro
和Funcionario_funcao
自己:
insert into SYM_ROUTER
(router_id, source_node_group_id, target_node_group_id, router_type,
router_expression, create_time, last_update_time)
values
('erp_to_pdv__funcionario', 'erp', 'pdv', 'subselect',
'c.external_id in (
select empresa.CNPJ
from cadastro join empresa
on cadastro.id_empresa = empresa.id_empresa
where cadastro.CPFCGC=:ID_CADASTRO
)',
current_timestamp, current_timestamp);
当从一个记录Funcionario
表被路由,该路由器所有挑选与节点external_id
等于Empresa.CNPJ
链接到给定Funcionario
(I假定Funcionario.id_cadastro
为基准来Cadastro.CPFCGC
)
请注意我用c.external_id
,但您可能需要使用c.node_id(取决于你投入Empresa.CNPJ
)。