Stored Procedure
Une procédure stockée est un programme SQL précompilé stocké dans la base de données, appelable à la demande, réduisant les allers-retours réseau et le risque d'injection SQL.
Objectif
Descendre la logique métier dans la base de données, réduisant allers-retours réseau et analyses répétées.
Mécanisme
Écrite en SQL/PL (PL/pgSQL, T-SQL), précompilée avec des plans d'exécution en cache. Accepte des paramètres et renvoie des jeux de résultats ou des nombres de lignes affectées. S'exécute dans la base, réduisant les allers-retours, avec des privilèges contrôlables. Mais difficile à déboguer, versionner et découpler de la base.
Cas d’usage
- Encapsuler une logique métier complexe
- Traitement de données par lots
- Opérations en base à privilèges isolés
- Logique de systèmes legacy
Exemples
- entrée
CALL transfer(account_a, account_b, 100)OutputStored procedure invokedPrecompiled
Erreurs courantes
- Over-pushing business logic down hurts maintainability
- Keep core logic in the app; use procedures only for data-intensive operations
Termes associés
Trigger
Un déclencheur est du code de base de données exécuté automatiquement lors d'événements spécifiques (INSERT/UPDATE/DELETE) ; il sert à l'audit, aux cascades et aux contraintes. GLOSSAIRE
View
Une vue est une définition de requête stockée (une table virtuelle) ne contenant pas de données, calculée dynamiquement au moment de la requête ; elle sert à simplifier les requêtes, isoler la sécurité et abstraire. GLOSSAIRE
SQL
SQL (Structured Query Language) est le langage de requête standard des bases de données relationnelles, définissant et manipulant les données de façon déclarative (DDL/DML/DQL/DCL). GLOSSAIRE