Maison > base de données > tutoriel mysql > Comment utiliser les instructions if imbriquées dans les procédures stockées MySQL

Comment utiliser les instructions if imbriquées dans les procédures stockées MySQL

WBOY
Libérer: 2023-05-26 12:07:34
avant
1876 Les gens l'ont consulté

1. Introduction à l'instruction if

L'instruction if est une instruction de structure de branchement qui effectue différentes opérations en fonction des conditions. L'instruction if se compose généralement d'une expression conditionnelle et d'une ou plusieurs instructions. La condition préalable à l'exécution des instructions dans l'instruction if est que la valeur de l'expression conditionnelle soit vraie, sinon le bloc d'instruction if sera ignoré.

La syntaxe de l'instruction if est la suivante :

if(condition)then
    statement;
else
    statement;
end if;
Copier après la connexion

où condition est l'expression conditionnelle et instruction est l'instruction SQL qui doit être exécutée.

2. Introduction aux instructions if imbriquées

Une instruction if imbriquée est dans un bloc d'instruction if, avec une instruction if ou imbriquée à l'intérieur de plusieurs les blocs sont conçus pour effectuer différentes opérations en fonction de différentes conditions. La syntaxe des instructions imbriquées if est la suivante :

if(condition1)then
    statement;
    if(condition2)then
        statement;
    else
        statement;
    end if;
else if(condition3)then
    statement;
else
    statement;
end if;
Copier après la connexion

Parmi elles, condition1 est l'expression conditionnelle du premier niveau si ; d'abord, sinon si l'instruction Expression ; est l'instruction SQL qui doit être exécutée.

3. Exemple d'instruction if imbriquée

Ce qui suit est un exemple de procédure stockée utilisant une instruction if imbriquée :

delimiter //
create procedure test_if_nested(
    in student_name varchar(50),
    out result_msg varchar(50)
)
begin
    declare student_score int;
    select score into student_score from student where name = student_name;
    if(student_score >= 90)then
        set result_msg = '优秀';
        if(student_score = 100)then
            set result_msg = concat(result_msg, ',满分');
        end if;
    else if(student_score >= 60)then
        set result_msg = '及格';
    else
        set result_msg = '不及格';
    end if;
end //
delimiter ;
Copier après la connexion
# 🎜🎜#Cette procédure stockée est utilisée pour juger la performance de l'élève en fonction du score de l'élève :

  1. Si le score est supérieur ou égal à 90 points, il est excellent, si c'est 100 points, alors ajoutez « score complet »

  2. Si le score est supérieur ou égal à 60 points, c'est une réussite #🎜 ; 🎜#

  3. Si le score est inférieur à 60 points, cela entraînera un échec.
4. Appel de procédure stockée

La procédure stockée peut être appelée via la commande d'appel, la syntaxe est la suivante : #🎜 🎜#

call procedure_name(argument1, argument2, ...);
Copier après la connexion

Parmi eux, procedure_name est le nom de la procédure stockée, argument1, argument2, etc. sont les paramètres de la procédure stockée.

Par exemple, pour appeler la procédure stockée ci-dessus, vous pouvez utiliser la commande suivante :

call test_if_nested('张三', @result_msg);
select @result_msg as result;
Copier après la connexion

Passez un paramètre de nom d'étudiant et affichez le résultat via le paramètre out. Les résultats sont les suivants :

+-------------+
| result      |
+-------------+
| 及格       |
+-------------+
Copier après la connexion
Grâce à la méthode d'appel ci-dessus, nous pouvons obtenir le score de l'élève en fonction de son nom et juger la note de l'élève en fonction du score.

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!

Étiquettes associées:
source:yisu.com
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