如何在同一个数据库中创建表复制?(DBMR2758)

~ 0 min
2016-06-17 03:47

A1一般来说,表复制应用在不同的数据库之间,但也可以用于同一个数据库。

您可以通过以下两种方法在同一个数据库中创建表复制:

一、使用Create Replication语法。但采用这种方法时,Create Replication语法中不能包含“CLEAR DATA”和“CLEAR AND FLUSH DATA”这两个选项。

例如:

CREATE REPLICATION rp_name

WITH PRIMARY AS SYSADM.FILE1

REPLICATE TO DBSAMPLE5:UTENTE.FILE1;

 

CREATE REPLICATION rp_name

WITH PRIMARY AS SYSADM.FILE1

REPLICATE TO DBSAMPLE5:UTENTE.FILE1

FLUSH DATA;

注意:如果用户使用JDBA工具创建表复制,则不能勾选 “删除目标表中的数据”。

如果需要删除目标表中的原始数据,则用户需在创建表复制之前手动删除所有记录。

二、使用触发器。请注意该方法仅适用于同步表复制,且它作为一个全局事务将占用一个额外连接。

例如:

CREATE TRIGGER TR_INSERT AFTER INSERT ON SYSADM.FILE1

FOR EACH ROW

(INSERT INTO UTENTE.FILE1 VALUES(new.c1,new.c2));

CREATE TRIGGER TR_UPDATE AFTER UPDATE ONSYSADM.FILE1

FOR EACH ROW

(UPDATE UTENTE.FILE1 SET C1=NEW.C1,C2=NEW.C2);

CREATE TRIGGER TR_DELETE AFTER DELETE ON SYSADM.FILE1

FOR EACH ROW

(DELETE FROM UTENTE.FILE1 WHERE C1=OLD.C1 AND C2=OLD.C2);

 

版本: All

产品: Normal/Bundle

平台: Windows/Linux

平均分: 0 (0 投票)

你不能对该内容发表评论

标签