- カテゴリ:
DYNAMIC_TABLES¶
このテーブル関数は、 動的テーブル に関するメタデータを返します。これには、ラグメトリクスの集計や、現時刻から7日以内にある最新のリフレッシュのステータスが含まれます。
構文¶
DYNAMIC_TABLES (
[ NAME => '<string>' ]
[ , REFRESH_DATA_TIMESTAMP_START => <constant_expr> ]
[ , RESULT_LIMIT => <integer> ]
[ , INCLUDE_CONNECTED => { TRUE | FALSE } ]
)
引数¶
すべての引数はオプションです。引数が提供されない場合は、アカウント内にあるすべての動的テーブルから100個のリフレッシュが返されます。
NAME => 'string'
動的テーブルの名前。
名前は一重引用符で囲む必要があり、大文字と小文字は区別されません。
非修飾名(
dynamic_table_name
)、部分修飾名(schema_name.dynamic_table_name
)、または完全修飾名(database_name.schema_name.dynamic_table_name
)を指定できます。オブジェクト名解決の詳細については、 オブジェクト名の解決 をご参照ください。
関数は、このテーブルのメタデータを返します。
REFRESH_DATA_TIMESTAMP_START => constant_expr
動的テーブルのターゲットラグに関連するメトリクスを計算するための時間(TIMESTAMP_LTZ 形式)。LATEST_DATA_TIMESTAMP が REFRESH_DATA_TIMESTAMP_START 以上のすべてのリフレッシュを含みます。
デフォルト: リフレッシュ履歴にあるすべてのリフレッシュは7日間保持されます。
RESULT_LIMIT => integer
関数によって返される行の最大数を指定する数です。
一致する行の数がこの制限よりも大きい場合は、指定された制限まで、最新(およびまだ実行中)のリフレッシュが返されます。
範囲:
1
~10000
デフォルト:
100
。INCLUDE_CONNECTED => { TRUE | FALSE }
TRUE に設定すると、この関数は NAME 引数で指定された動的テーブルに接続されているすべての動的テーブルのメタデータを返します。
NAME 引数を指定する必要があります。 RESULT_LIMIT 引数は指定しないでください。
デフォルト:
FALSE
出力¶
この関数は、次の列を返します。
これらの列を表示するには、 MONITOR 権限を持つロールを使用する必要があります。それ以外の場合、関数は NAME
、 SCHEMA_NAME
、 DATABASE_NAME
、 QUALIFIED_NAME
の値のみを返します。動的テーブル権限の詳細については、 動的テーブルのメタデータを表示する権限 をご参照ください。
列名 |
データ型 |
説明 |
---|---|---|
NAME |
TEXT |
動的テーブルの名前。 |
SCHEMA_NAME |
TEXT |
動的テーブルを含むスキーマの名前。 |
DATABASE_NAME |
TEXT |
動的テーブルを含むデータベースの名前。 |
QUALIFIED_NAME |
TEXT |
動的テーブルの完全修飾名。 |
TARGET_LAG_SEC |
NUMBER |
この動的テーブルのターゲットラグタイム(秒単位)。これは、動的テーブルの TARGET_LAG パラメーターで指定された値です。 |
TARGET_LAG_TYPE |
TEXT |
ターゲットラグの型。次のいずれかになります。
|
SCHEDULING_STATE |
OBJECT |
次で構成される OBJECT。
|
MEAN_LAG_SEC |
NUMBER |
この動的テーブルのリフレッシュの平均ラグタイム(秒単位)。 |
MAXIMUM_LAG_SEC |
NUMBER |
この動的テーブルのリフレッシュの最大ラグタイムを秒単位で指定します。 |
TIME_ABOVE_TARGET_LAG_SEC |
NUMBER |
保持期間中、または最後の設定変更以降、実際のラグが定義されたターゲットラグを上回った時間(秒単位)。 |
TIME_WITHIN_TARGET_LAG_RATIO |
NUMBER |
実際のラグがターゲットラグ内にある場合の、保持期間または最終構成変更からの時間の割合。 |
LATEST_DATA_TIMESTAMP |
TIMESTAMP_LTZ |
最後にリフレッシュに成功したデータのタイムスタンプ。 |
LAST_COMPLETED_REFRESH_STATE |
TEXT |
動的テーブルの最終に中止したリフレッシュのステータス。次のいずれかになります。
|
LAST_COMPLETED_REFRESH_STATE_CODE |
TEXT |
リフレッシュの現行状態を表すコード。 LAST_COMPLETED_REFRESH_STATE が FAILED の場合、この列には失敗に関連するエラーコードが表示されます。 |
LAST_COMPLETED_REFRESH_STATE_MESSAGE |
TEXT |
リフレッシュの現行状態の説明。 LAST_COMPLETED_REFRESH_STATE が FAILED の場合、この列には失敗に関連するエラーメッセージが表示されます。 |
EXECUTING_REFRESH_QUERY |
TEXT |
存在する場合、これはリフレッシュジョブのクエリ ID を表します。NULLの場合、実行中のリフレッシュジョブはありません。 |
使用上の注意¶
情報スキーマテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。
例¶
指定された動的テーブルと接続されているすべての動的テーブルの名前、ラグ情報、最後にリフレッシュに成功したデータのタイムスタンプを取得します。
SELECT
name,
target_lag_sec,
mean_lag_sec,
latest_data_timestamp
FROM
TABLE (
INFORMATION_SCHEMA.DYNAMIC_TABLES (
NAME => 'mydb.myschema.mydt',
INCLUDE_CONNECTED => TRUE
)
)
ORDER BY
target_lag_sec