Instruction conditionnelle IF-THEN avec MySQL
Dans ce tutoriel nous allons découvrir comment utiliser l’instruction conditionnelle IF-THEN pour exécuter un bloc de code SQL basé sur une condition spécifiée. Notez que MySQL a une fonction IF() différente de l’instruction IF décrite dans ce tutoriel.
L’instruction IF implémente une construction conditionnelle de base lorsque l’expression est évaluée à false. Sa syntaxe est la suivante:
IF expression THEN statements; ELSE else-statements; END IF;
Les déclarations doivent se terminer par un point-virgule.
Pour illustrer l’utilisation de l’instruction IF dans une procédure stockée MySQL, nous créons la procédure stockée suivante, basée sur les valeurs de la table nommée ‘stock’, comme indiqué ci-dessous :
La requête suivante créera une procédure nommée « checkProduct » qui contient l’instructions IF-ELSE:
DELIMITER $ CREATE PROCEDURE checkProduct(IN Prod Varchar(20), OUT Category varchar(50)) BEGIN DECLARE p Varchar(20); SELECT produit INTO p FROM stock WHERE produit = Prod; IF p = 'crèmes' THEN SET Category = 'Ce produit appartient à la catégorie Cosmétiques'; ELSE SET Category = 'Produit n`existe pas dans la table'; END IF; END$ Delimiter ;
Maintenant, nous pouvons voir le résultat ci-dessous lorsque nous appelons cette procédure:
CAS 1:
CALL checkProduct('crèmes', @Category); Select @Category;
CAS 2:
CALL checkProduct('huiles', @Category); Select @Category;