在我们的应用程序中,我们有两组表:一组工作表(包含当前分析的数据)和另一组存档表(所有数据甚至被分析过,相同的表名,但前缀为a_
)。表的结构是相同的,除了归档表有一个额外的列run_id
来区分不同的数据集。将表A的内容复制到表B(比表A多一列)
目前,我们有一个SQL脚本的内容复制在具有类似这样的语句:
insert into a_deals (run_id, deal_id, <more columns>)
select maxrun, deal_id, <more columns>
from deals,
(select max(run_id) maxrun from batch_runs);
这工作得很好,但每当我们添加新列到表中,我们也有mpdify的脚本。有更好的方法来做到这一点,当我们有新的专栏时,这是稳定的。 (当然结构必须匹配,但我们希望能够不必更改脚本。)
FWIW,我们使用Oracle作为RDBMS。
你需要多长时间一次同步? – tbone 2012-02-21 12:37:43
每月一次或两次 - 我们每隔几个月就会有一个新的列 – Thorsten 2012-02-21 12:48:17