MON$STATEMENTS

Les instructions SQL à exécuter.

Table 1. Description des colonnes de la table MON$STATEMENTS
Nom de la colonneType de donnéesDescription

MON$STATEMENT_ID

BIGINT

ID de l'instruction SQL.

MON$ATTACHMENT_ID

BIGINT

Id de l'attachement

MON$TRANSACTION_ID

BIGINT

Id de la transaction

MON$STATE

SMALLINT

Statut d'opérateur :

  • 0 inactif (idle);

  • 1 actif (active);

  • 2 suspendu (stalled).

MON$TIMESTAMP

TIMESTAMP

Date et heure de début de l'activité de l'opérateur.

MON$SQL_TEXT

BLOB TEXT

Texte de l'instruction SQL.

MON$STAT_ID

INTEGER

Id.

MON$EXPLAINED_PLAN

BLOB TEXT

Plan de l'opérateur sous forme d'explication.

MON$STATEMENT_TIMEOUT

INTEGER

Délai d'attente SQL au niveau de l'instruction SQL. Contient la valeur du délai d'attente définie au niveau de la connexion/de l'opérateur, en millisecondes. Si le délai n'est pas défini 0.

MON$STATEMENT_TIMER

TIMESTAMP

Heure d'expiration de la minuterie de l'instruction SQL. Contient NULL si le délai d'attente de l'instruction SQL n'est pas défini, ou si aucune minuterie n'est en cours d'exécution.

MON$COMPILED_STATEMENT_ID

BIGINT

L'identifiant de la demande compilée.

L'état de l'instruction STALLED est "paused". Il est possible qu'une requête qui a commencé son exécution, n'est pas encore terminée, mais n'est pas en cours d'exécution. Par exemple, elle attend des paramètres d'entrée ou une autre récupération du client.

Example 1. Afficher les demandes actives, à l'exception de celles qui s'exécutent sur leur propre connexion
SELECT ATT.MON$USER, ATT.MON$REMOTE_ADDRESS, STMT.MON$SQL_TEXT, STMT.MON$TIMESTAMP
FROM MON$ATTACHMENTS ATT
  JOIN MON$STATEMENTS STMT ON ATT.MON$ATTACHMENT_ID = STMT.MON$ATTACHMENT_ID
WHERE ATT.MON$ATTACHMENT_ID <> CURRENT_CONNECTION
  AND STMT.MON$STATE = 1