FirebirdSQL logo

ALTER FUNCTION

affectation

Modifier une fonction stockée existante.

Disponible en

DSQL

Syntaxe
ALTER FUNCTION funcname
[(<inparam> [, <inparam> ...])]
RETURNS <type> [COLLATE collation]
[DETERMINISTIC]
<routine-body>

Pour plus d'informations, voir. CREATE FUNCTION.

L’instruction ALTER FUNCTION permet de modifier la composition et les caractéristiques des paramètres d’entrée, le type de valeur de sortie, les variables locales, les curseurs nommés, les sous-programmes et le corps de la fonction stockée. Pour les fonctions externes (UDR), vous pouvez modifier le point d’entrée et le nom du moteur. Les fonctions externes déclarées comme DECLARE EXTERNAL FUNCTION, également connues sous le nom d’UDF, ne peuvent pas être converties en fonctions PSQL et vice versa. Une fois exécutées, les privilèges et dépendances existants sont conservés.

Note

Soyez prudent lorsque vous modifiez le nombre et les types de paramètres d’entrée des fonctions stockées. Le code d’application existant peut devenir inapplicable car le format d’appel de la fonction est incompatible avec la nouvelle description des paramètres. De plus, les modules PSQL utilisant la fonction stockée modifiée peuvent devenir invalides. Des informations sur la façon de détecter cela peuvent être trouvées dans Field RDB$VALID_BLR.

Warning

Si vous avez déjà une fonction externe de style Legacy (DECLARE EXTERNAL FUNCTION), l’instruction ALTER FUNCTION la transformera en fonction normale sans aucun avertissement. Ceci a été fait intentionnellement pour faciliter la migration vers le nouveau style d’écriture des fonctions externes connu sous le nom d’UDR.

Qui peut modifier une fonction ?

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

  • Administrateurs

  • Le propriétaire de la fonction stockée ;

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