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 | ||
d4:c05 [2025/10/01 15:10] – [3. Fonctions stockées] dthevenot | d4:c05 [2025/10/01 17:44] (Version actuelle) – [6. Bonnes pratiques professionnelles] dthevenot | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== D4-C05 : Procédures stockées et fonctions avec MariaDB ====== | ====== D4-C05 : Procédures stockées et fonctions avec MariaDB ====== | ||
+ | |||
+ | ===== Ressources ===== | ||
+ | |||
+ | * Documentation officielle [[https:// | ||
+ | * Bonnes pratiques SQL : conventions de nommage et gestion des droits | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * Tutoriels professionnels (Zeste de savoir, Percona, MariaDB docs). | ||
===== 1. Introduction ===== | ===== 1. Introduction ===== | ||
MariaDB (comme MySQL) permet d’écrire du code SQL réutilisable grâce aux **procédures stockées** et aux **fonctions stockées.** | MariaDB (comme MySQL) permet d’écrire du code SQL réutilisable grâce aux **procédures stockées** et aux **fonctions stockées.** | ||
Ligne 45: | Ligne 53: | ||
</ | </ | ||
- | ==== 3. Fonctions stockées ==== | + | ===== 3. Fonctions stockées |
- | === Syntaxe générale === | + | ==== Syntaxe générale |
< | < | ||
DELIMITER // | DELIMITER // | ||
Ligne 61: | Ligne 69: | ||
</ | </ | ||
- | === Appel : === | + | ==== Appel : ==== |
< | < | ||
- | === Exemple simple === | + | ==== Exemple simple |
< | < | ||
DELIMITER // | DELIMITER // | ||
Ligne 76: | Ligne 84: | ||
</ | </ | ||
- | === Utilisation : === | + | ==== Utilisation : ==== |
< | < | ||
- | ==== 4. Gestion des erreurs ==== | + | ===== 4. Gestion des erreurs |
On peut intercepter une erreur grâce aux handlers : | On peut intercepter une erreur grâce aux handlers : | ||
< | < | ||
Ligne 89: | Ligne 97: | ||
END; | END; | ||
</ | </ | ||
- | ==== 5. Curseurs ==== | + | ===== 5. Curseurs |
Quand une requête retourne plusieurs lignes, on peut les parcourir : | Quand une requête retourne plusieurs lignes, on peut les parcourir : | ||
< | < | ||
Ligne 104: | Ligne 112: | ||
CLOSE c; | CLOSE c; | ||
</ | </ | ||
- | ==== 6. Bonnes pratiques professionnelles ==== | + | ===== 6. Bonnes pratiques professionnelles |
- Nommage clair : sp_ pour procédures, | - Nommage clair : sp_ pour procédures, | ||
- Commenter chaque procédure (auteur, date, rôle, paramètres). | - Commenter chaque procédure (auteur, date, rôle, paramètres). | ||
Ligne 110: | Ligne 118: | ||
- Versionner les scripts SQL dans Git. | - Versionner les scripts SQL dans Git. | ||
- Donner des droits d’exécution sur les procédures plutôt que des droits directs sur les tables. | - Donner des droits d’exécution sur les procédures plutôt que des droits directs sur les tables. | ||
+ | |||
+ | [[d4:A06]] |