Vertica - 刷新视图定义,用于在基础表中添加新添加的列

时间:2017-04-27 02:59:44

标签: database vertica

我需要刷新视图定义以从其基础表中获取最新列。我们有这样的命令可以实现吗?因为视图的基础表可能正在改变,并且我真的不想查询sys视图表以查看哪个表是视图的基础表,我只想让所有最新的列出现在观点。

例如,我们有两个表,例如test_1test_2,还有一个名为test的视图,在第1天,视图的基础查询为select * from test_1 ,并在第2天它select * from test_2,但表模式可能会在一天内更改,我希望视图测试始终具有其基础表的所有列。

实现它的一种方法是查询VIEWS并获取视图的定义并了解基础表,然后使用select * from $underlying_table删除并重新创建它,我们可以拥有所有列。

但是你知道查询sys表有时很慢,有没有像#34;刷新视图"实现同样的目标?

1 个答案:

答案 0 :(得分:0)

这里没有解决方案!这是在HP Vertica的建议列表中。

在需要

的视图中
select * from table 

我重建/重新创建(我甚至不看系统表 - 它们很慢,因为它们是外部表)它们每次我在prod中进行更改时,它很糟糕,但这就是它的本质。