FirebirdSQL logo
 PACKAGE BODYFILTER 

Qui peut déclarer une fonction externe ?

L’instruction `DECLARE EXTERNAL FUNCTION' peut être exécutée :

L’utilisateur qui déclare une fonction externe devient le propriétaire de cette fonction.

Exemples

Example 1. Déclaration d’une fonction externe avec des paramètres d’entrée et de sortie par référence
DECLARE EXTERNAL FUNCTION addDay
TIMESTAMP, INT
RETURNS TIMESTAMP
ENTRY_POINT 'addDay' MODULE_NAME 'fbudf';
Example 2. Déclaration d’une fonction externe avec transfert des paramètres d’entrée et de sortie par descripteur
DECLARE EXTERNAL FUNCTION invl
INT BY DESCRIPTOR, INT BY DESCRIPTOR
RETURNS INT BY DESCRIPTOR
ENTRY_POINT 'idNvl' MODULE_NAME 'fbudf';
Example 3. Déclaration d’une fonction externe avec paramètres d’entrée par référence, paramètres de sortie par valeur
DECLARE EXTERNAL FUNCTION isLeapYear
TIMESTAMP
RETURNS INT BY VALUE
ENTRY_POINT 'isLeapYear' MODULE_NAME 'fbudf';
Example 4. Déclaration d’une fonction externe avec des paramètres d’entrée et de sortie transmis par le descripteur. Le deuxième paramètre de la fonction est utilisé comme paramètre de sortie.
DECLARE EXTERNAL FUNCTION i64Truncate
NUMERIC(18) BY DESCRIPTOR, NUMERIC(18) BY DESCRIPTOR
RETURNS PARAMETER 2
ENTRY_POINT 'fbtruncate' MODULE_NAME 'fbudf';

docnext count = 6

ALTER EXTERNAL FUNCTION

affectation

Modifier le point d’entrée et/ou le nom du module pour une fonction définie par l’utilisateur (UDF).

Disponible en

DSQL

Syntaxe
ALTER EXTERNAL FUNCTION funcname
[ENTRY_POINT 'new_entry_point']
[MODULE_NAME 'new_library_name'];
Table 1. Paramètres de l’opérateur ALTER EXTERNAL FUNCTION
Paramètre Description

funcname

Le nom de la fonction externe.

new_entry_point

Nouveau nom de la fonction à exporter (point d’entrée).

new_library_name

Le nouveau nom du module dans lequel se trouve la fonction.

L’instruction ALTER EXTERNAL FUNCTION change le point d’entrée et/ou le nom du module pour une fonction définie par l’utilisateur (UDF). Les dépendances existantes sont conservées.

La phrase ENTRY_POINT permet de spécifier un nouveau point d’entrée (le nom de la fonction à exporter).

La proposition MODULE_NAME vous permet de spécifier un nouveau nom de module où se trouve la fonction exportée.

Qui peut modifier une fonction externe ?

L’instruction `ALTER EXTERNAL FUNCTION' peut être exécutée :

  • administrators.

  • Le propriétaire de la fonction externe ;

  • Les utilisateurs ayant le privilège de `ALTER ANY FUNCTION'.

Exemples

Example 1. Changement du point d’entrée d’une fonction externe
ALTER EXTERNAL FUNCTION invl ENTRY_POINT 'intNvl';
Example 2. Modification du nom du module pour une fonction externe
ALTER EXTERNAL FUNCTION invl MODULE_NAME 'fbudf2';

DROP EXTERNAL FUNCTION

affectation

Suppression d’une déclaration de fonction définie par l’utilisateur (UDF) dans la base de données.

Disponible en

DSQL, ESQL.

Syntaxe
DROP EXTERNAL FUNCTION funcname
Table 1. Paramètres de l’opérateur DROP EXTERNAL FUNCTION
Paramètre Description

funcname

Le nom de la fonction externe.

L’instruction DROP EXTERNAL FUNCTION supprime de la base de données une déclaration de fonction définie par l’utilisateur. S’il existe des dépendances sur une fonction externe, la suppression n’aura pas lieu et une erreur correspondante sera émise.

Qui peut supprimer une fonction externe ?

L’instruction `DROP EXTERNAL FUNCTION' peut être exécutée :

  • administrators.

  • Le propriétaire de la fonction externe ;

  • Utilisateurs avec le privilège `DROP ANY FUNCTION'.

Exemples

Example 1. Suppression d’une fonction externe
DROP EXTERNAL FUNCTION addDay;