SHOW TRANSACTIONS¶
実行中のすべてのトランザクションをリストします。このコマンドを使用して、現在のユーザーまたはアカウント内のすべてのユーザーのトランザクションを表示できます。
- こちらもご参照ください。
構文¶
SHOW TRANSACTIONS [ IN ACCOUNT ]
パラメーター¶
IN ACCOUNT
アカウント内のすべてのユーザー全体のトランザクションを表示します。ACCOUNTADMIN ロールを持つユーザー(アカウント管理者)のみが使用できます。
出力¶
コマンド出力には、トランザクションのメタデータが以下の列で表示されます。
列 |
説明 |
---|---|
|
トランザクション ID(符号付き64ビット整数)。 |
|
現在のユーザー。 |
|
セッション ID。 |
|
トランザクションのユーザー定義名またはシステム生成名(UUID)。 |
|
トランザクションがいつ実行を開始したかを示すタイムスタンプ。 |
|
トランザクションの状態: |
|
スコープ付きトランザクションのストアド・プロシージャを作成した操作の ID。非スコープ付きトランザクションでは、 |
使用上の注意¶
プレフィックス
is_
で始まる列は、Y
(はい)またはN
(いいえ)のいずれかを返します。このコマンドは、実行中のウェアハウスを必要としません。
コマンドは、コマンドを実行するために使用されるロールのアクセス権によって決定された通り、指定されたオブジェクトタイプに対して 最大 10Kのレコードを返します。フィルタが適用されていても、10Kの制限を超えるレコードは返されません。
10Kを超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。
このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。
コマンド出力には、実行中のすべてのトランザクションの IDs が含まれます。これらの IDs は、指定されたトランザクションを中止するための SYSTEM$ABORT_TRANSACTION の入力として使用できます。
トランザクションを含むストアドプロシージャは、別のトランザクション内から呼び出すことができます。これらのトランザクションは別個のものだが、「スコープ」が設定されています。
scope
列の値は、2つのトランザクションが同じスコープにあるかどうかを調べるのに便利です。詳細については、 スコープトランザクション をご参照ください。
例¶
この例では、2つのセッションが同じユーザーによって実行され、各セッションで1つのトランザクションが進行中です。
SHOW TRANSACTIONS;
+---------------------+---------+-----------------+--------------------------------------+-------------------------------+---------+-------+
| id | user | session | name | started_on | state | scope |
|---------------------+---------+-----------------+--------------------------------------+-------------------------------+---------+-------|
| 1721165674582000000 | CALIBAN | 186457423713330 | 551f494d-90ed-438d-b32b-1161396c3a22 | 2024-07-16 14:34:34.582 -0700 | running | 0 |
| 1721165584820000000 | CALIBAN | 186457423749354 | a092aa44-9a0a-4955-9659-123b35c0efeb | 2024-07-16 14:33:04.820 -0700 | running | 0 |
+---------------------+---------+-----------------+--------------------------------------+-------------------------------+---------+-------+