FirebirdSQL logo

RDB$PROCEDURE_PARAMETERS

Décrit les paramètres des procédures stockées.

Table 1. Description des colonnes de la table RDB$PROCEDURE_PARAMETERS
Nom de la colonne Type de données Description

RDB$PARAMETER_NAME

CHAR(63)

Nom du paramètre.

RDB$PROCEDURE_NAME

CHAR(63)

Le nom de la procédure dans laquelle le paramètre est utilisé.

RDB$PARAMETER_NUMBER

SMALLINT

Numéro séquentiel du paramètre.

RDB$PARAMETER_TYPE

SMALLINT

Indique si le paramètre est une entrée (valeur 0) ou une sortie (valeur 1).

RDB$FIELD_SOURCE

CHAR(63)

Le nom du domaine créé par l’utilisateur (lorsqu’on utilise une référence de domaine au lieu d’un type), ou le domaine construit automatiquement par le système pour le paramètre de la procédure. Dans le second cas, le nom commencera par les caractères RDB$.

RDB$DESCRIPTION

BLOB TEXT

Texte d’une note de paramètre facultative.

RDB$SYSTEM_FLAG

SMALLINT

Indique si le paramètre est défini par le système (valeur 1 et plus) ou par l’utilisateur (valeur 0).

RDB$DEFAULT_VALUE

BLOB BLR

Valeur par défaut dans le langage BLR.

RDB$DEFAULT_SOURCE

BLOB TEXT

La valeur par défaut dans le langage SQL d’origine.

RDB$COLLATION_ID

SMALLINT

L’identifiant de l’ordre de tri utilisé pour le paramètre caractère.

RDB$NULL_FLAG

SMALLINT

Un signe qu’une valeur vide NULL est valide.

RDB$PARAMETER_MECHANISM

SMALLINT

Mécanisme de transfert des paramètres :

  • 0 — par valeur ;

  • 1 — par référence ;

  • 2 — via un descripteur ;

  • 3 — via un descripteur BLOB.

RDB$FIELD_NAME

CHAR(63)

Le nom de la colonne à laquelle le paramètre est référencé en utilisant la clause TYPE OF COLUMN.

RDB$RELATION_NAME

CHAR(63)

Le nom de la table à laquelle le paramètre fait référence en utilisant la clause TYPE OF COLUMN.

RDB$PACKAGE_NAME

CHAR(63)

Nom du paquet de procédures (s’il s’agit d’une procédure emballée) dans lequel le paramètre est utilisé.

RDB$PROCEDURES

Décrit les procédures stockées.

Table 1. Description des colonnes de la table RDB$PROCEDURES
Nom de la colonne Type de données Description

RDB$PROCEDURE_NAME

CHAR(63)

Le nom de la procédure stockée.

RDB$PROCEDURE_ID

SMALLINT

L’identifiant unique de la procédure.

RDB$PROCEDURE_INPUTS

SMALLINT

Indique le nombre de paramètres d’entrée ou leur absence (valeur NULL).

RDB$PROCEDURE_OUTPUTS

SMALLINT

Indique le nombre de paramètres de sortie ou leur absence (valeur NULL).

RDB$DESCRIPTION

BLOB TEXT

Texte arbitraire d’une note de procédure.

RDB$PROCEDURE_SOURCE

BLOB TEXT

Code source de la procédure en langage SQL.

RDB$PROCEDURE_BLR

BLOB BLR

Représentation binaire (BLR) du code de procédure.

RDB$SECURITY_CLASS

CHAR(63)

Peut pointer vers la classe de sécurité définie dans la table système RDB$SECURITY_CLASSES pour appliquer des restrictions de contrôle d’accès.

RDB$OWNER_NAME

CHAR(63)

Le nom de l’utilisateur est le propriétaire (créateur) de la procédure.

RDB$RUNTIME

BLOB

Description des métadonnées de la procédure. Utilisation interne pour l’optimisation.

RDB$SYSTEM_FLAG

SMALLINT

Indique que la procédure est définie par l’utilisateur (valeur 0) ou par le système (valeur 1 ou supérieure).

RDB$PROCEDURE_TYPE

SMALLINT

Type de procédure :

  • 1 — procédure stockée sélective (contient l’opérateur SUSPEND) ;

  • 2 est une procédure stockée exécutable.

RDB$VALID_BLR

SMALLINT

Indique si le texte de la procédure stockée reste correct après la dernière modification de la procédure à l’aide de l’instruction ALTER PROCEDURE.

RDB$DEBUG_INFO

BLOB

Contient des informations de débogage sur les variables utilisées dans la procédure stockée.

RDB$ENGINE_NAME

CHAR(63)

Le nom du moteur pour l’utilisation des procédures externes. Habituellement UDR.

RDB$ENTRYPOINT

CHAR(255)

Le nom du point d’entrée dans la bibliothèque où se trouve cette procédure.

RDB$PACKAGE_NAME

CHAR(63)

Le nom du paquet si la procédure est packagées.

RDB$PRIVATE_FLAG

SMALLINT

Pour les procédures stockées non packagées: toujours NULL.

Pour les procédures packagées:
0 — si la procédure est décrite dans l’en-tête du paquet et
1 — si la procédure est décrite ou mise en œuvre uniquement dans le corps du paquet (pas dans l’en-tête)

RDB$SQL_SECURITY

BOOLEAN

Avec quels droits la procédure est exécutée :

  • TRUE — avec les droits de l’utilisateur définissant (SQL SECURITY DEFINER) ;

  • FALSE — avec les droits de l’utilisateur appelant (SQL SECURITY INVOKER) ;

  • NULL — les privilèges d’exécution sont hérités du paquet.