Vous avez du mal à gérer le code répétitif et complexe dans vos projets PL/SQL.
Cette complexité peut entraîner des erreurs et rendre la maintenance du code fastidieuse et coûteuse.
L’utilisation de fonctions en PL/SQL simplifie et optimise votre code, offrant une réutilisation facile et des performances accrues.
Maîtriser le langage SQL en environnement SGBDR. SQL n'aura plus de secrets pour vous !
Les fonctions sont des blocs de code qui permettent d’exécuter des tâches spécifiques tout en renvoyant une valeur. Elles jouent un rôle essentiel dans la programmation, car elles facilitent la réutilisation du code et améliorent la lisibilité. Dans cette section, nous explorerons la définition, la création et l’utilisation des fonctions en PL/SQL.
Une fonction est un ensemble d’instructions qui permet d’exécuter une tâche spécifique et de retourner une valeur. Contrairement à une procédure, qui ne retourne pas de valeur, une fonction est conçue pour calculer et renvoyer un résultat.
Alors, nous allons explorer les principales caractéristiques des fonctions, qui les distinguent des procédures et soulignent leur utilité dans la programmation.
Concept | Description |
---|---|
Identique à une procédure, à la différence qu’elle retourne une valeur | Bien qu’une fonction soit similaire à une procédure en termes de structure et de syntaxe, elle se distingue par sa capacité à retourner une valeur. Cela la rend particulièrement utile lorsque vous avez besoin d’effectuer un calcul et d’utiliser le résultat dans une autre partie de votre code. |
Stockée dans la base de données sous format compilé | Les fonctions sont généralement stockées dans la base de données sous un format compilé, ce qui signifie qu’elles sont optimisées pour l’exécution. Cela permet d’améliorer les performances, surtout si la fonction est appelée fréquemment. |
Peut recevoir des arguments (paramètres) | Les fonctions peuvent accepter des arguments, également appelés paramètres. Ces arguments permettent de passer des valeurs à la fonction au moment de son appel, ce qui la rend plus flexible et réutilisable. |
Identique à une procédure, à la différence qu’elle retourne une valeur
Bien qu’une fonction soit similaire à une procédure en termes de structure et de syntaxe, elle se distingue par sa capacité à retourner une valeur. Cela la rend particulièrement utile lorsque vous avez besoin d’effectuer un calcul et d’utiliser le résultat dans une autre partie de votre code.
Stockée dans la base de données sous format compilé
Les fonctions sont généralement stockées dans la base de données sous un format compilé, ce qui signifie qu’elles sont optimisées pour l’exécution. Cela permet d’améliorer les performances, surtout si la fonction est appelée fréquemment.
Peut recevoir des arguments (paramètres)
Les fonctions peuvent accepter des arguments, également appelés paramètres. Ces arguments permettent de passer des valeurs à la fonction au moment de son appel, ce qui la rend plus flexible et réutilisable.
Création d'une fonction PL/SQL
Voici la syntaxe pour créer une fonction en PL/SQL :
CREATE [ OR REPLACE ] FUNCTION (
[{ IN | OUT | IN OUT } ] TYPE [ , . . . ]
) RETURN
{ IS | AS }
BEGIN
...
RETURN EXPRESSION;
EXCEPTION THEN ;
END [ ];
Prenons un exemple de fonction qui calcule la masse salariale :
create or replace FUNCTION massSal RETURN NUMBER IS
var_sommeSal salaries.salaire%TYPE;
BEGIN
SELECT SUM(salaire) INTO var_sommeSal FROM salaries;
RETURN var_sommeSal;
END massSal;
Et voilà, votre procédure massSal a été créée dans le répertoire Fonctions.
Appel d'une fonction en PL/SQL
Pour appeler une fonction, vous pouvez utiliser les syntaxes suivantes :
- En PL/SQL
BEGIN
:= (, ...);
END;
- En SQL
SELECT (, ...);
Voici un exemple d’appel de la fonction massSal :
SET SERVEROUTPUT ON;
DECLARE
var_masssal NUMBER;
BEGIN
var_masssal := massSal();
DBMS_OUTPUT.PUT_LINE('Valeur de la masse salariale : ' || var_masssal);
END;
/
Et voila le résultat affiché lors de l’exécution :
Suppression d'une fonction PL/SQL
Pour supprimer une fonction de la base de données, vous pouvez utiliser la syntaxe suivante :
DROP FUNCTION ;
Et pour supprimer la fonction que vous avez déjà créée, massSal(), veuillez écrire :
DROP FUNCTION masssal;
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment créer une fonction en PL/SQL ?
Quelle est la différence entre une fonction et une procédure en PL/SQL ?
Comment appeler une fonction en PL/SQL ?
Pourquoi stocker une fonction dans la base de données ?
Comment supprimer une fonction en PL/SQL ?
Conclusion
En maîtrisant les fonctions en PL/SQL, vous pouvez considérablement améliorer l’efficacité et la lisibilité de votre code. Quelle autre fonctionnalité PL/SQL aimeriez-vous explorer pour optimiser davantage vos projets ?