システムは、HPのVertica 7.1にVerticaダイナミックマックスタイムスタンプは、スキーマ内のすべてのテーブルから
私は動的にシステムからDWH_CREATE_TIMESTAMPという名前のタイムスタンプ列を持っている固有のスキーマ内のすべての特定のテーブルを検索しますSQLクエリを作成しようとしていますですテーブル。
次に、このテーブルのリストを外部クエリまたはリスト(200+)のすべてのテーブルからMAX(DWH_CREATE_TIMESTAMP)とTABLE_NAMEを選択する何らかのループステートメントに渡します。すべての結果を1つのリストにまとめることができます。
期待される出力は、そのTSフィールドと各値の最大値を持つすべての前記テーブルを持つ2列テーブルです。テーブルは常に作成され、削除されるので、TABLE_NAMEの値がハードコードされていない場所では、すべてを完全に動的にすることがポイントです。
UDFを使用せずにこれを達成するためのVertica固有の方法については、大変感謝しています。
内部クエリ(作業):
select distinct(table_name)
from columns
where column_name = 'DWH_CREATE_TIMESTAMP'
and table_name in (select DISTINCT(table_name) from all_tables where schema_name = 'PTG_DWH')
外側のクエリ(未遂 - 動作していない):
SELECT Max(DWH_CREATE_DATE) from
WITH table_name AS (
select distinct(table_name)
from columns
where column_name = 'DWH_CREATE_DATE' and table_name in (select DISTINCT(table_name) from all_tables where schema_name = 'PTG_DWH'))
SELECT MAX(DWH_CREATE_DATE)
FROM table_name
感謝!