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';

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'.