- カテゴリ:
DYNAMIC_TABLE_REFRESH_HISTORY¶
このテーブル関数は、 動的テーブル の各リフレッシュ(完了および実行中)に関する情報を返します。
このテーブル関数は、現在進行中のすべてのリフレッシュと、現時刻から1日以内に REFRESH_VERSION のあるすべてのリフレッシュを返します。
構文¶
DYNAMIC_TABLE_REFRESH_HISTORY(
[ DATA_TIMESTAMP_START => <constant_expr> ]
[ , DATA_TIMESTAMP_END => <constant_expr> ]
[ , RESULT_LIMIT => <integer> ]
[ , NAME => '<string>' ]
[ , NAME_PREFIX => '<string>' ]
[ , ERROR_ONLY => { TRUE | FALSE } ]
)
引数¶
すべての引数はオプションです。引数が提供されない場合は、アカウント内にあるすべての動的テーブルから100個のリフレッシュが返されます。
DATA_TIMESTAMP_START => constant_expr
、 .DATA_TIMESTAMP_END => constant_expr
リフレッシュが発生した時間範囲(TIMESTAMP_LTZ形式)。
開始バージョンも終了バージョンも指定されていない場合、デフォルトの範囲は過去1日です。
終了バージョンが指定されていない場合は、 CURRENT_TIMESTAMP が範囲の終了として使用されます。
開始バージョンが指定されていない場合、範囲は DATE_TIMESTAMP_END の開始1日前から始まります。
RESULT_LIMIT => integer
関数によって返される行の最大数を指定する数です。
一致する行の数がこの制限よりも大きい場合は、指定された制限まで、最新(およびまだ実行中)のリフレッシュが返されます。
範囲:
1
~10000
デフォルト:
100
。NAME => string
動的テーブルの名前。
名前は一重引用符で囲む必要があり、大文字と小文字は区別されません。
非修飾名(
dynamic_table_name
)、部分修飾名(schema_name.dynamic_table_name
)、または完全修飾名(database_name.schema_name.dynamic_table_name
)を指定できます。オブジェクト名解決の詳細については、 オブジェクト名の解決 をご参照ください。
関数は、このテーブルのリフレッシュを返します。
NAME_PREFIX => string
動的テーブルのプレフィックス。
名前のプレフィックスは一重引用符で囲む必要があり、大文字と小文字は区別されません。
この関数は、このプレフィックスで始まる名前のテーブルのリフレッシュを返します。
この引数を使用して、特定のデータベースまたはスキーマの動的テーブルのリフレッシュを返すことができます。
ERROR_ONLY => TRUE | FALSE
TRUE に設定すると、この関数は失敗したかキャンセルされたリフレッシュのみを返します。
出力¶
この関数は、次の列を返します。
列名 |
データ型 |
説明 |
---|---|---|
NAME |
TEXT |
動的テーブルの名前。 |
SCHEMA_NAME |
TEXT |
動的テーブルを含むスキーマの名前。 |
DATABASE_NAME |
TEXT |
動的テーブルを含むデータベースの名前。 |
STATE |
TEXT |
動的テーブルのリフレッシュのステータス。ステータスは、次のいずれかになります。
|
STATE_CODE |
TEXT |
リフレッシュの現行状態を表すコード。 |
STATE_MESSAGE |
TEXT |
リフレッシュの現行状態の説明。 |
QUERY_ID |
TEXT |
動的テーブルの結果を生成した SQL ステートメントの ID。 |
DATA_TIMESTAMP |
TIMESTAMP_LTZ |
リフレッシュが評価されたトランザクションのタイムスタンプ。(実際のリフレッシュの時間より少し前になる可能性があります。)このタイムスタンプより前に到着した、ベースオブジェクト内のすべてのデータが、現在動的テーブルに含まれています。 |
REFRESH_START_TIME |
TIMESTAMP_LTZ |
リフレッシュジョブの開始時刻。 |
REFRESH_END_TIME |
TIMESTAMP_LTZ |
リフレッシュの完了時刻。 |
COMPLETION_TARGET |
TIMESTAMP_LTZ |
動的テーブルのラグを TARGET_LAG パラメーター以下に維持するためにこのリフレッシュを完了する必要がある時刻。以前の REFRESH_VERSION + TARGET_LAG と同じ。 |
QUALIFIED_NAME |
TEXT |
動的テーブルのグラフに表示される動的テーブルの完全修飾名。これは、出力を DYNAMIC_TABLE_GRAPH_HISTORY 関数の出力と結合するために使用できます。 |
LAST_COMPLETED_DEPENDENCY |
OBJECT |
次のプロパティを含んでいます。
|
STATISTICS |
OBJECT |
次のプロパティを含んでいます。
|
REFRESH_ACTION |
TEXT |
次のいずれか:
|
REFRESH_TRIGGER |
TEXT |
次のいずれか:
|
使用上の注意¶
情報スキーマテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。
例¶
失敗したかキャンセルされたリフレッシュを取得します。
SELECT name, state, state_code, state_message, query_id, data_timestamp, refresh_start_time, refresh_end_time FROM TABLE ( INFORMATION_SCHEMA.DYNAMIC_TABLE_REFRESH_HISTORY ( NAME_PREFIX => 'MYDB.MYSCHEMA.', ERROR_ONLY => TRUE ) ) ORDER BY name, data_timestamp;