Maison > base de données > tutoriel mysql > Créer une procédure stockée délimitée dans MySQL

Créer une procédure stockée délimitée dans MySQL

王林
Libérer: 2023-09-09 17:57:08
avant
899 Les gens l'ont consulté

Créer une procédure stockée délimitée dans MySQL

Vous pouvez créer une procédure stockée à l'aide de la commande create procédure. La syntaxe est la suivante −

delimiter //
CREATE PROCEDURE yourStoreProcedureName()
BEGIN
   Declare variable here
   The query statement
END //

delimiter //
Copier après la connexion

Appliquez la syntaxe ci-dessus pour créer une procédure stockée. La requête est la suivante −

mysql> use test;
Database changed
mysql> delimiter //
mysql> create procedure Sp_callTableStoredProcTable()
   −> begin
   −> select *from StoredProcTable;
   −> end //
Query OK, 0 rows affected (0.54 sec)
Copier après la connexion

Vous devez maintenant changer le délimiteur avec ; pour appeler la procédure stockée −

mysql> delimiter ;
Copier après la connexion

Vous pouvez appeler la procédure stockée à l'aide de la commande CALL La syntaxe est la suivante −

CALL yourStoredProcedureName();
Copier après la connexion

La procédure stockée ci-dessus peut être. appelé à l'aide de la commande CALL comme indiqué dans la requête ci-dessous −

mysql> call Sp_callTableStoredProcTable();
Copier après la connexion

Ce qui suit est le résultat −

+-----------+------+
| FirstName | Age  |
+-----------+------+
| John      | 23   |
| Bob       | 24   |
| David     | 20   |
+-----------+------+
3 rows in set (0.03 sec)

Query OK, 0 rows affected (0.06 sec)
Copier après la connexion

Dans ce qui précède, nous avons utilisé la table 'StoredProcTable', qui contient trois enregistrements. Tous les enregistrements sont affichés à l'aide d'une procédure stockée.

Vous pouvez vérifier combien d'enregistrements se trouvent dans la table à l'aide de la procédure stockée -

mysql> delimiter //
mysql> create procedure CountingRecords()
   −> begin
   −> select count(*) as AllRecords from StoredProcTable;
   −> end //
Query OK, 0 rows affected (0.19 sec)

mysql> delimiter ;
Copier après la connexion

Appelez la procédure stockée à l'aide de la commande CALL La requête est la suivante −

mysql> call CountingRecords();
Copier après la connexion

La sortie suivante montre le nombre d'enregistrements −

+------------+
| AllRecords |
+------------+
|          3 |
+------------+
1 row in set (0.31 sec)

Query OK, 0 rows affected (0.33 sec)
Copier après la connexion
.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal