【发布时间】:2015-07-17 16:14:16
【问题描述】:
我在 greenplum 中有一个本地表 XYZ。我正在从其他 5 个表中的数据填充该表(表 XYZ 有很少的列和来自 5 个不同表的数据,由一些连接操作填充)。
这工作正常。但我在这里面临的问题是:
1> 我需要我的表 XYZ 有最新的数据。也就是说,如果任何新条目出现在 5 个表中(从中填充 XYZ),我的表 XYZ 应该更新。
2> 如果任何现有记录被修改,那么在这种情况下,表 XYZ 中的数据也应该被修改。 我还有一张 History_of_XYZ 表,该表包含 XYZ 的所有数据(历史)。例如:假设他们是客户 ABC 的一个条目,因为他住在美国。但现在 ABC 已经搬到了新的国家,比如说俄罗斯。然后我的历史表将包含与条目 USA 对应的数据,表 XYZ 将包含最近更新的数据,即居住在俄罗斯的客户。
所以我无法找出处理第 1 步和第 2 步的最佳方法。
考虑到所有数据都在greenplum数据库中,如何做到这一点。
我对 gpload 和其他加载选项进行了一些研究,但不确定如何进行第 1 步和第 2 步。
任何指针都会有所帮助。我对 DB 很陌生。因此,设置所有表格结构并填充表格本身对我来说是一个很大的学习曲线。
【问题讨论】:
标签: sql database shell greenplum