MON$CALL_STACK

Accéder aux piles en interrogeant les procédures stockées, les fonctions stockées et les déclencheurs.

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

MON$CALL_ID

BIGINT

Identifiant de la pile.

MON$STATEMENT_ID

BIGINT

L'identifiant de haut niveau de l'instruction SQL l'instruction qui a initié la chaîne d'appels. Cet identifiant peut être utilisé pour trouver l'enregistrement du relevé actif dans la table MON$STATEMENTS.

MON$CALLER_ID

BIGINT

L'identifiant du déclencheur, de la fonction stockée ou de la procédure stockée de référence.

MON$OBJECT_NAME

CHAR(63)

Le nom de l'objet PSQL.

MON$OBJECT_TYPE

SMALLINT

Type d'objet PSQL :

  • 2 trigger ;

  • 5 procédure stockée ;

  • 15 une fonction stockée.

MON$TIMESTAMP

TIMESTAMP

Date et heure du début de l'appel.

MON$SOURCE_LINE

INTEGER

Le numéro de ligne source de l'instruction SQL en cours d'exécution.

MON$SOURCE_COLUMN

INTEGER

Le numéro de la colonne source de l'instruction SQL en cours d'exécution.

MON$STAT_ID

INTEGER

Identificateur statistique.

MON$PACKAGE_NAME

CHAR(63)

Nom du paquet pour les procédures/fonctions paquagées.

Note

La pile d'appel n'obtiendra pas les informations d'appel lorsque l'opérateur EXECUTE STATEMENT est exécuté.

Example 1. Obtenez une pile d'appels pour toutes les connexions, sauf la vôtre.
WITH RECURSIVE
  HEAD AS (
    SELECT
      CALL.MON$STATEMENT_ID, CALL.MON$CALL_ID,
      CALL.MON$OBJECT_NAME, CALL.MON$OBJECT_TYPE
    FROM MON$CALL_STACK CALL
    WHERE CALL.MON$CALLER_ID IS NULL
    UNION ALL
    SELECT
      CALL.MON$STATEMENT_ID, CALL.MON$CALL_ID,
      CALL.MON$OBJECT_NAME, CALL.MON$OBJECT_TYPE
    FROM MON$CALL_STACK CALL
      JOIN HEAD ON CALL.MON$CALLER_ID = HEAD.MON$CALL_ID
  )
SELECT MON$ATTACHMENT_ID, MON$OBJECT_NAME, MON$OBJECT_TYPE
FROM HEAD
  JOIN MON$STATEMENTS STMT ON STMT.MON$STATEMENT_ID = HEAD.MON$STATEMENT_ID
WHERE STMT.MON$ATTACHMENT_ID <> CURRENT_CONNECTION