Rappel de Cours : Les Fonctions en
PL/SQL
1. Introduction
En PL/SQL, une fonction est un sous-programme nommé qui encapsule une séquence
d'instructions pour effectuer une tâche précise et retourne une valeur unique. Les fonctions
sont utilisées pour modulariser le code, le rendre réutilisable et améliorer sa lisibilité.
2. Syntaxe générale
Voici la syntaxe générale pour créer une fonction en PL/SQL :
CREATE OR REPLACE FUNCTION nom_fonction (
param1 TYPE,
param2 TYPE
) RETURN TYPE IS
-- Déclarations locales
BEGIN
-- Corps de la fonction
RETURN valeur;
END;
3. Exemple simple
Une fonction qui retourne le carré d’un nombre :
CREATE OR REPLACE FUNCTION carre (x NUMBER) RETURN NUMBER IS
BEGIN
RETURN x * x;
END;
Utilisation :
SELECT carre(4) FROM dual; -- Résultat : 16
4. Différences entre fonction et procédure
Critère Fonction Procédure
Retour d'une valeur Oui (obligatoire) Non (pas directement)
Utilisation SQL Oui (dans une requête Non (via PL/SQL uniquement)
SELECT)
Appel SELECT fonction(...) EXEC procedure(...)
BEGIN procedure( ); END;
5. Règles d’usage
- Une fonction doit retourner une valeur avec l’instruction RETURN.
- Elle peut être utilisée dans une requête SQL si elle ne modifie pas les données (pas de INSERT,
UPDATE, DELETE).
- Pour des traitements complexes sans retour de valeur, utilisez une procédure.
6. Exemple avec une condition
Fonction qui détermine si un nombre est pair ou impair :
CREATE OR REPLACE FUNCTION is_pair(n NUMBER) RETURN
VARCHAR2(10) IS
BEGIN
IF MOD(n, 2) = 0 THEN
RETURN 'Pair';
ELSE
RETURN 'Impair';
END IF;
END;