Maison > Article > base de données > procédure stockée mysql si jugement
MySQL est un système de gestion de base de données relationnelle largement utilisé qui utilise des instructions SQL pour fonctionner. Les procédures stockées MySQL sont des blocs de code précompilés et réutilisables qui sont utilisés pour exécuter une série d'instructions SQL et d'instructions de flux de contrôle. Elles peuvent encapsuler une logique métier complexe.
Dans les procédures stockées MySQL, si le jugement est l'une des instructions de contrôle de flux les plus couramment utilisées. L'instruction if est utilisée pour décider d'exécuter un bloc de code spécifique en fonction du fait qu'une condition est vraie ou fausse. Dans cet article, nous examinerons en profondeur comment utiliser les instructions if dans les procédures stockées MySQL.
Ce qui suit est un exemple de procédure stockée MySQL utilisant le jugement if :
CREATE PROCEDURE proc_example(IN val INT) BEGIN IF val > 10 THEN SELECT 'val is greater than 10'; ELSE SELECT 'val is less than or equal to 10'; END IF; END;
Dans la procédure stockée ci-dessus, nous avons utilisé un paramètre d'entrée val. Si la valeur de val est supérieure à 10, la sortie « val est supérieure à 10 ». Sinon, sortie "val est inférieur ou égal à 10". La procédure stockée peut être appelée par :
CALL proc_example(5);
Dans ce cas la procédure stockée retournera "val est inférieur ou égal à 10".
En plus de l'utilisation de base présentée dans l'exemple ci-dessus, MySQL fournit également d'autres options avancées pour mieux contrôler le comportement des instructions if.
La première option est ELSEIF. ELSEIF est utilisé pour ajouter plusieurs jugements conditionnels. Nous pouvons écrire la procédure stockée de la manière suivante :
CREATE PROCEDURE proc_example2(IN val INT) BEGIN IF val > 10 THEN SELECT 'val is greater than 10'; ELSEIF val = 10 THEN SELECT 'val is equal to 10'; ELSE SELECT 'val is less than 10'; END IF; END;
Dans cet exemple, nous déterminons d'abord si val est supérieur à 10, et si c'est le cas, nous affichons "val est supérieur à 10". Sinon, nous utilisons l'instruction ELSEIF pour vérifier si val est égal à 10. Si tel est le cas, la sortie "val est égale à 10". Sinon, nous affichons "val est inférieur à 10".
La deuxième option est imbriquée si les instructions. Nous pouvons utiliser des instructions if imbriquées pour écrire une logique conditionnelle plus complexe. Voici un exemple avec des instructions if imbriquées :
CREATE PROCEDURE proc_example3(IN val INT) BEGIN IF val >= 0 THEN IF val < 10 THEN SELECT 'val is between 0 and 9'; ELSE SELECT 'val is greater than or equal to 10'; END IF; ELSE SELECT 'val is less than 0'; END IF; END;
Dans cet exemple, nous vérifions d'abord si val est supérieur ou égal à 0. Si c’est le cas, continuez à vérifier s’il est inférieur à 10. Si tel est le cas, la sortie "val est comprise entre 0 et 9". Sinon, nous affichons "val est supérieur ou égal à 10". Si val est inférieur à 0, la sortie "val est inférieure à 0".
La dernière option consiste à utiliser le type BOOLEAN. MySQL prend en charge le type BOOLEAN, ce qui peut rendre le code plus lisible. Voici un exemple d'utilisation du type BOOLÉEN :
CREATE PROCEDURE proc_example4(IN val INT) BEGIN DECLARE b BOOLEAN; SET b = (val > 10); IF b THEN SELECT 'val is greater than 10'; ELSE SELECT 'val is less than or equal to 10'; END IF; END;
Dans cet exemple, nous déclarons d'abord une variable de type BOOLÉEN nommée b. Nous définissons ensuite la valeur de b sur le résultat de (val > 10). Enfin, nous utilisons l'instruction if pour afficher différentes informations selon que b est vrai ou faux.
Il est très courant d'utiliser des jugements if dans les procédures stockées MySQL. L'instruction if est utilisée pour exécuter différents blocs de code en fonction de conditions. Nous pouvons également utiliser d'autres options pour étendre les fonctionnalités de l'instruction if. En maîtrisant le fonctionnement des instructions if, les développeurs peuvent mieux écrire des procédures stockées.
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!