- カテゴリ:
コンテキスト関数 (セッション)
LAST_QUERY_ID¶
現在のセッションで指定されたクエリの ID を返します。クエリが指定されていない場合、最新のクエリが返されます。
Tip
以前のコマンドの結果を処理するために RESULT_SCAN 関数でこの関数を使用する代わりに、パイプ演算子 (->>
) を使用できます。そうすることで、コマンドを実行し、その結果セットを1つのステップで処理することができます。
構文¶
LAST_QUERY_ID( [ <num> ] )
引数¶
num
(セッション内の)クエリの位置に基づいて、返すクエリを指定します。
デフォルト:
-1
使用上の注意¶
正の数は、セッションで最初に実行されたクエリから始まります。例:
LAST_QUERY_ID(1)
は最初のクエリを返します。LAST_QUERY_ID(2)
は2番目のクエリを返します。LAST_QUERY_ID(6)
は6番目のクエリを返します。
負の数は、セッションで最後に実行されたクエリで始まります。例:
LAST_QUERY_ID(-1)
は最新のクエリを返します(LAST_QUERY_ID()
と同等)。LAST_QUERY_ID(-2)
は2番目に新しいクエリを返します。
最後の LAST_QUERY_ID 関数は、現在のセッション内で実行されたすべてのステートメントを対象とし、子ステートメント(例: ストアドプロシージャ、匿名ブロック、または パイプ演算子 ステートメントの一部として実行されたステートメント) も含みます。一連のステートメント内の位置のみに基づくステートメントのクエリ ID を取得したい場合、パイプ演算子の使用を検討してください。より複雑なユースケースの場合は、Snowflake スクリプトのブロックの グローバル変数 SQLID の使用をお勧めします。
例¶
最新のクエリの ID を返します。
SELECT LAST_QUERY_ID();
セッションで実行された最初のクエリの ID を返します。
SELECT LAST_QUERY_ID(1);