Les procédures stockées et les fonctions stockées sont de petits programmes enregistrés directement dans la base de données. Un programme externe (ex : une page Web PHP) pourra exécuter la procédure stockée plutôt que faire lui-même une suite de requêtes à la base de données.
L'utilisation de procédures ou de fonctions stockées a deux principaux avantages :
MySQL supporte les procédures et fonctions stockées depuis la version 5.0.
Alors que les procédures stockées en Oracle utilisent le langage PL/SQL et que les procédures stockées en MS-SQL utilisent le langage T-SQL (aussi appelé Transact-SQL), les procédures stockées en MySQL sont écrites dans un langage procédural qui n'a pas de nom proprement dit.
Le langage procédural permettra bien sûr d'exécuter des requêtes SQL. Il sera également possible d'utiliser des structures de contrôle pour faire des tests, des boucles, etc.
La principale différence entre une procédure et une fonction stockée est dans l'utilisation qu'on en fait. Une procédure stockée sera utilisée seule alors qu'une fonction stockée sera utilisée à l'intérieur d'une requête SQL.
Une autre différence se fait sentir au niveau de la valeur de retour : seule la fonction stockée en a une.
De nombreuses autres différences seront notées dans les pages suivantes, notamment au niveau de la déclaration des paramètres.
La référence complète du langage procédural de MySQL est disponible sur le site de MySQL :
« 13.1.12 CREATE PROCEDURE and CREATE FUNCTION Syntax ». MySQL. http://dev.mysql.com/doc/refman/5.7/en/create-procedure.html
Tutoriel sur la création de procédures et fonctions stockées :
« Procédure stockée ». Site du zéro. http://www.siteduzero.com/tutoriel-3-34590-procedure-stockee.html
« B.4. MySQL 5.7 FAQ: Stored Procedures and Functions ». MySQL. http://dev.mysql.com/doc/refman/5.7/en/faqs-stored-procs.html
▼Publicité