我需要刷新视图定义以从其基础表中获取最新列。我们有这样的命令可以实现吗?因为视图的基础表可能正在改变,并且我真的不想查询sys视图表以查看哪个表是视图的基础表,我只想让所有最新的列出现在观点。
例如,我们有两个表,例如test_1
和test_2
,还有一个名为test
的视图,在第1天,视图的基础查询为select * from test_1
,并在第2天它select * from test_2
,但表模式可能会在一天内更改,我希望视图测试始终具有其基础表的所有列。
实现它的一种方法是查询VIEWS
并获取视图的定义并了解基础表,然后使用select * from $underlying_table
删除并重新创建它,我们可以拥有所有列。
但是你知道查询sys表有时很慢,有没有像#34;刷新视图"实现同样的目标?
答案 0 :(得分:0)
这里没有解决方案!这是在HP Vertica的建议列表中。
在需要
的视图中select * from table
我重建/重新创建(我甚至不看系统表 - 它们很慢,因为它们是外部表)它们每次我在prod中进行更改时,它很糟糕,但这就是它的本质。