2017-04-27 3 views
0

基本テーブルの最新の列を持つためにビュー定義を更新する必要があります。私達はそれを達成するためにそのようなコマンドを持っていますか?ビューの基礎となるテーブルが変更されている可能性があるので、どのテーブルがビューの基礎となるテーブルであるかをsys viewテーブルに照会することを本当に望んでいないので、最新のすべてのカラムをビューに表示させたいだけです。Vertica - 基礎となるテーブルに新しく追加された列を追加するためのビュー定義をリフレッシュする

たとえば、私たちはtest_1test_2のように、2つのテーブルを持っている、ともtestというビューが1日目にビューの基本となるクエリがselect * from test_1である、そして2日目に、それはselect * from test_2だが、テーブルのスキーマを変更してもよいです一日のうちに、ビューテストで常にその基になるテーブルのすべての列があることを確認します。

これを達成するアプローチの1つは、VIEWSを照会して、ビューの定義を取得し、基礎となるテーブルを知り、それを削除してすべての列を持つことができるselect * from $underlying_tableで再作成することです。

しかし、あなたは時々非常に遅いクエリのsysテーブルを知っている、同じように達成するために "リフレッシュビュー"のようなエレガントな方法はありますか?

答えて

0

ここに解決策はありません!これはHP Verticaの提案リストにあります。私は再構築/再作成

select * from table 

を必要と景色で

(私もシステムテーブルを見ていない - 彼らは外部表であるため、彼らは遅いです)それらを私はPRODに変更を加えるたびに、それはこれをやっているが、それはそれである。

+0

ありがとうございました。私は数日間の検索としてこれについての解決策を得ていませんでした。 –

関連する問題