我正在寻找与SQLREMOTE同步外界关系的最佳方式。所以有e.g.这两个表

CREATE TABLE  table1(
    id integer not null default autoincrement,
    name varchar(40) NOT NULL,
    primary key (id)
);


CREATE TABLE table_items(
    id integer NOT NULL default autoincrement,
    name CHAR(40) NOT NULL,
    table_1_id integer NOT NULL,
    cl1 bit default 0,
    cl2 bit default 0,
    FOREIGN KEY ( table_1_id )
    REFERENCES table_1( id ),
 PRIMARY KEY (id));
.

实施发票项目的发票。CL1和CL2应通过同步触发该数据集的客户端。但现在我想知道,同步的最佳方法是表格_1的相应数据是什么。

第一个方法是从我的思想中放入表格_1中的CL1和CL2字段,并将它们添加到Pubclization,因此出版物看起来很少:

CREATE PUBLICATION sync_cl1 (
    TABLE table_1,
    TABLE table_items
    WHERE cl1 = 1
);

CREATE PUBLICATION sync_cl2 (
    TABLE table_1,
    TABLE table_items
    WHERE cl1 = 2
);
.

是否有任何更好的方法可以使用综合完整性检查?

有帮助吗?

解决方案

似乎可以在出版物内使用子查询。

从文档中:

CREATE PUBLICATION SalesRepData (
TABLE SalesReps
TABLE Customers
   SUBSCRIBE BY rep_key
TABLE Contacts
SUBSCRIBE BY (SELECT rep_key
   FROM Customers
   WHERE Contacts.cust_key = Customers.cust_key )
);
.

这将捕获销售代表客户的所有客户联系人。

似乎是一个重要的重要性,这需要在连接更新后更新 - 例如销售代表正在获得新客户。这需要在触发器之前进行更新/插入/删除。

许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top