Maison  >  Article  >  base de données  >  Utiliser la logique IF pour appeler une procédure stockée dans une procédure stockée ?

Utiliser la logique IF pour appeler une procédure stockée dans une procédure stockée ?

WBOY
WBOYavant
2023-08-29 11:05:021415parcourir

使用 IF 逻辑在存储过程中调用存储过程?

Pour appeler une procédure stockée au sein d'une procédure stockée, la syntaxe est la suivante -

If yourInputValue > 100 then
     call yourProcedureName1();
 else
    call yourProcedureName2();
    end If ;
    END

Implémentons la syntaxe ci-dessus. Pour implémenter le concept ci-dessus, créons une procédure stockée -

mysql> delimiter //
mysql> create procedure Hello_Stored_Procedure()
   -> BEGIN
   -> select 'Hello World!!!';
   -> END
   -> //
Query OK, 0 rows affected (0.18 sec)

La requête pour créer la deuxième procédure stockée est la suivante -

mysql> create procedure Hi_Stored_Procedure()
   -> BEGIN
   -> select 'Hi!!!';
   -> END
   -> //
Query OK, 0 rows affected (0.17 sec)

Voici la requête pour appeler la procédure stockée à l'intérieur de la procédure stockée en utilisant la logique IF -

mysql> DELIMITER //
mysql> create procedure test(IN input int)
   -> BEGIN
   -> If input > 100 then
   -> call Hello_Stored_Procedure();
   -> else
   -> call Hi_Stored_Procedure();
   -> end If ;
   -> END
   -> //
Query OK, 0 rows affected (0.18 sec)

Vous pouvez maintenant utiliser l'aide de call pour invoquer la procédure stockée -

mysql> delimiter ;
mysql> call test(110);

Cela produira le résultat suivant -

+----------------+
| Hello World!!! |
+----------------+
| Hello World!!! |
+----------------+
1 row 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer