Maison  >  Article  >  base de données  >  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
WBOYavant
2023-05-26 12:07:341842parcourir

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;

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;

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 ;
# 🎜🎜#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, ...);

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;

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      |
+-------------+
| 及格       |
+-------------+

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!

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