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

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

王林
王林avant
2023-09-09 17:57:08788parcourir

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 //

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)

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

mysql> delimiter ;

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

CALL yourStoredProcedureName();

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();

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)

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 ;

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

mysql> call CountingRecords();

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)
.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer