2012-03-09 47 views
0

我有一个奇怪的要求,我想在table1的任何更改上将Schema1的table1中的数据复制到Schema2的table2中。关于table1更改的更新表2

我使用postgres,如何实现这个?表格将具有完全相同的结构

+0

你可以使用触发器吗? – 2012-03-09 04:14:15

+0

你试图更新哪列? – Teja 2012-03-09 04:14:19

+0

所有的列应该更新'table1'中的任何数据更改,无论是否为'add''删除''update',相同的操作应该在'table2'处复制。我也可以使用触发器。 – Varun 2012-03-09 04:16:12

回答

0

首先,尝试分析工作负载的性质和优先级。并且在寻找解决方案的方向上会变得更加清晰。例如,如果您可以假定更新发生的次数比删除和添加次数少得多,并且您的时间有限 - 只需简单删除,插入触发器并将更新作为重新插入两个表中。

1

如果schema2中的表应该始终是schema1中的表的精确副本,那么我只需在schema2中创建一个从schema1中进行选择的视图。

create view schema2.table1 
as 
select * 
from schema1.table1; 

您将需要重新创建视图如果更改表的定义中schema1(但你需要做的是对复制的副本以及)。