Pour éviter de telles erreurs dans les procédures stockées MySQL, vous devez remplacer le délimiteur par //.
Supposons que si vous utilisez des procédures stockées, des déclencheurs ou même des fonctions, vous devez modifier le délimiteur. La syntaxe est la suivante.
DELIMITER // CREATE PROCEDURE yourProcedureName() BEGIN Statement1, . . N END; // DELIMITER ;
Pour comprendre la syntaxe ci-dessus, créons une procédure stockée. La requête pour créer une procédure stockée est la suivante -
mysql> DELIMITER // mysql> CREATE PROCEDURE sp_getAllRecords() -> BEGIN -> SELECT *FROM employeetable; -> END; -> // Query OK, 0 rows affected (0.23 sec) mysql> DELIMITER ;
Utilisez la commande CALL pour appeler la procédure stockée. La syntaxe est la suivante.
CALL yourStoredProcedureName();
Appelez maintenant la procédure ci-dessus pour renvoyer tous les enregistrements de la table Employee. La requête est la suivante.
mysql> CALL sp_getAllRecords();
Ce qui suit est le résultat.
+------------+--------------+----------------+ | EmployeeId | EmployeeName | EmployeeSalary | +------------+--------------+----------------+ | 2 | Bob | 1000 | | 3 | Carol | 2500 | +------------+--------------+----------------+ 2 rows in set (0.00 sec) Query OK, 0 rows affected (0.02 sec)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!