2012-03-09 45 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(但你需要做的是對複製的副本以及)。