Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
sio2:d4-a06-les_procedures_et_fonctions_stockees [2025/03/23 21:33] – a dthevenot | sio2:d4-a06-les_procedures_et_fonctions_stockees [2025/03/24 08:44] (Version actuelle) – [Exemples à tester] dthevenot | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
Tout comme Oracle possède son langage PL/SQL et MS SQL Server son Transact-SQL, | Tout comme Oracle possède son langage PL/SQL et MS SQL Server son Transact-SQL, | ||
+ | ===== ===== | ||
Une procédure stockée, aussi appelée **stored procedure** en anglais, est un concept utilisé en administration de base de données afin d’exécuter un ensemble d’instructions SQL. Une telle procédure est stockée au sein du Système de Gestion de Base de Donneés (SGBD) et peut être appelée à tout moment par son nom afin d’exécuter celle-ci. | Une procédure stockée, aussi appelée **stored procedure** en anglais, est un concept utilisé en administration de base de données afin d’exécuter un ensemble d’instructions SQL. Une telle procédure est stockée au sein du Système de Gestion de Base de Donneés (SGBD) et peut être appelée à tout moment par son nom afin d’exécuter celle-ci. | ||
+ | ===== ===== | ||
Les procédures stockées permettent aussi l' | Les procédures stockées permettent aussi l' | ||
- | ====== | + | ===== ===== |
Pourquoi utiliser les PS(procédures stockées)/ | Pourquoi utiliser les PS(procédures stockées)/ | ||
Ligne 22: | Ligne 24: | ||
Les fonctions peuvent retourner une valeur scalaire, et être appelées depuis une commande, tout comme toute autre fonction. Les procédures stockées peuvent appeler une autre routine stockée. Une routine est une procédure stockée ou une fonction. | Les fonctions peuvent retourner une valeur scalaire, et être appelées depuis une commande, tout comme toute autre fonction. Les procédures stockées peuvent appeler une autre routine stockée. Une routine est une procédure stockée ou une fonction. | ||
===== ===== | ===== ===== | ||
+ | ==== PROCEDURE ==== | ||
< | < | ||
DELIMITER // | DELIMITER // | ||
Ligne 36: | Ligne 39: | ||
< | < | ||
===== ===== | ===== ===== | ||
+ | ==== FONCTION==== | ||
+ | < | ||
+ | DELIMITER // | ||
+ | CREATE FUNCTION nomfonction(param1 TYPE, param2 TYPE, ...) | ||
+ | RETURNS TYPE | ||
+ | DETERMINISTIC | ||
+ | BEGIN | ||
+ | -- Déclarations de variables | ||
+ | DECLARE variable1 TYPE; | ||
+ | |||
+ | -- Logique de la fonction | ||
+ | SET variable1 = ...; | ||
+ | |||
+ | -- Retourner une valeur | ||
+ | RETURN variable1; | ||
+ | END // | ||
+ | DELIMITER ; | ||
+ | </ | ||
+ | ===== ===== | ||
+ | Pour appeler la fonction, il est possible d’exécuter la requête SQL suivante: | ||
+ | |||
+ | < | ||
==== Exemples à tester ==== | ==== Exemples à tester ==== | ||
< | < | ||
Ligne 42: | Ligne 67: | ||
RETURN CONCAT(' | RETURN CONCAT(' | ||
|</ | |</ | ||
- | * Que fait cette procédure | + | * Que fait cette fonction |
* Appel : | * Appel : | ||
* Afficher le résultat : | * Afficher le résultat : | ||
Ligne 58: | Ligne 83: | ||
* La tester dans le contexte "Parc immobilier" | * La tester dans le contexte "Parc immobilier" | ||
* Afficher le résultat : | * Afficher le résultat : | ||
- | * Modifier cette procédure pour que le nom de y=table soit géré par un paramètre en entrée | + | * Modifier cette procédure pour que le nom de la table soit géré par un paramètre en entrée |
===== ===== | ===== ===== | ||