SHOW TRANSACTIONS¶
Liste toutes les transactions en cours d’exécution. La commande peut être utilisée pour afficher les transactions de l’utilisateur actuel ou de tous les utilisateurs du compte.
- Voir aussi :
Syntaxe¶
SHOW TRANSACTIONS [ IN ACCOUNT ]
Paramètres¶
IN ACCOUNT
Affiche toutes les transactions de tous les utilisateurs du compte. Il ne peut être utilisé que par les utilisateurs ayant le rôle ACCOUNTADMIN (c’est-à-dire les administrateurs de comptes).
Sortie¶
La sortie de la commande affiche les métadonnées de transaction dans les colonnes suivantes :
Colonne |
Description |
---|---|
|
ID de transaction (un entier signé 64 bits). |
|
Utilisateur actuel. |
|
ID de session. |
|
Nom défini par l’utilisateur ou nom généré par le système (UUID) pour la transaction. |
|
Horodatage spécifiant quand la transaction a commencé à s’exécuter. |
|
État de la transaction : |
|
ID de l’opération qui a créé une procédure stockée dans une transaction limitée. |
Notes sur l’utilisation¶
Les colonnes qui commencent par le préfixe
is_
renvoient soitY
(oui), soitN
(non).L’exécution de la commande ne nécessite pas un entrepôt virtuel en cours d’exécution.
La commande retourne un maximum de 10 000 enregistrements pour le type d’objet spécifié, comme dicté par les privilèges d’accès pour le rôle utilisé pour exécuter la commande ; tous les enregistrements au-dessus de la limite de 10 000 enregistrements ne sont pas retournés, même avec un filtre appliqué.
Pour afficher les résultats pour lesquels il existe plus de 10 000 enregistrements, interrogez la vue correspondante (s’il en existe une) dans Schéma d’information de Snowflake.
Pour post-traiter la sortie de cette commande, vous pouvez utiliser la fonction RESULT_SCAN, qui traite la sortie comme une table qui peut être interrogée.
La sortie de commande inclut les IDs de toutes les transactions en cours. Ces IDs peuvent être utilisés comme entrée pour SYSTEM$ABORT_TRANSACTION afin d’annuler une transaction spécifiée.
Une procédure stockée qui contient une transaction peut être appelée à partir d’une autre transaction. Ces transactions sont distinctes mais « scopées ». Les valeurs dans la colonne
scope
sont utiles pour découvrir si deux transactions sont dans le même scope. Pour plus d’informations, voir Transactions scopées.
Exemple¶
Dans cet exemple, deux sessions sont exécutées par le même utilisateur, avec une transaction en cours pour chaque session.
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 |
+---------------------+---------+-----------------+--------------------------------------+-------------------------------+---------+-------+