2017-04-27 15 views
0

我有一个需要刷新视图定义以从其基础表获取最新列的需求。我们有这样的命令可以实现吗?因为视图的底层表可能会发生变化,而且我不想查询sys视图表来查看哪个表是视图的基础表,我只想让所有最新的列出现在视图中。Vertica - 刷新视图定义,用于在基础表中添加新添加的列

例如,我们有两个表,如test_1test_2,也被称为test视图,其在第1天的视图的基础查询是select * from test_1,和在第2天也select * from test_2,但表模式,可以改变在一天之内,我希望视图测试始终拥有其基础表的所有列。

实现它的一种方法是查询VIEWS并获得视图的定义并知道底层表,然后使用select * from $underlying_table删除并重新创建它,即我们可以包含所有列。

但是你知道查询sys表有时非常慢,有没有像“刷新视图”一样的优雅方式来实现相同?

回答

0

这里没有解决方案!这是HP Vertica的建议清单。

在需要

select * from table 

我重建/重建的意见(我甚至不看系统表 - 他们是缓慢的,因为它们是外部表),他们每次我做的督促变化时,它吸这样做,但它是这样的。

+0

谢谢Up_One。我没有解决这个要么搜索几天:( –

相关问题