Heim >Datenbank >MySQL-Tutorial >Beurteilung der gespeicherten MySQL-Prozedur
Beurteilung gespeicherter MySQL-Prozeduren: Verwenden Sie IF, CASE und bedingte Anweisungen, um logische Entscheidungen zu treffen.
Die gespeicherte MySQL-Prozedur ist eines der wichtigen Tools für die Implementierung der Geschäftslogik in MySQL. Sie kann Daten stapelweise verarbeiten. Transformation, Berechnung und Analyse usw. In gespeicherten MySQL-Prozeduren müssen wir häufig logische Beurteilungen der Daten vornehmen, um zu entscheiden, wie nachfolgende Vorgänge ausgeführt werden sollen. In diesem Artikel wird erläutert, wie Sie mit IF, CASE und bedingten Anweisungen logische Urteile in gespeicherten MySQL-Prozeduren fällen.
1. IF-Anweisung
Die IF-Anweisung ist die am häufigsten verwendete bedingte Anweisung in gespeicherten MySQL-Prozeduren, die verwendet wird, um verschiedene Operationen basierend auf den wahren oder falschen Bedingungen auszuführen. Das Syntaxformat lautet wie folgt:
IF (condition) THEN statements; ELSEIF (condition) THEN statements; ELSE statements; END IF;
Unter diesen stellt die Bedingung die Urteilsaussage und die Anweisungen den auszuführenden Anweisungsblock dar. In einer IF-Anweisung wird der IF-Block ausgeführt, wenn die Bedingung wahr ist, und der ELSEIF- oder ELSE-Block wird ausgeführt, wenn die Bedingung falsch ist. Es können mehrere ELSEIF-Anweisungsblöcke vorhanden sein, diese werden jedoch nur ausgeführt, wenn der IF-Anweisungsblock falsch ist.
Das Folgende ist ein Beispiel, um festzustellen, ob die Punktzahl eines Schülers eine IF-Anweisung durchläuft:
CREATE PROCEDURE check_score(IN score INT) BEGIN IF (score >= 60) THEN SELECT 'Pass'; ELSEIF (score >= 50) THEN SELECT 'Makeup Exam'; ELSE SELECT 'Fail'; END IF; END;
Im obigen Beispiel werden die entsprechenden Ergebnisse basierend auf der Punktzahl des Schülers ausgegeben . Wenn die Punktzahl des Schülers nicht besteht, wird „Nicht bestanden“ ausgegeben; wenn die Punktzahl zwischen 50 und 60 Punkten liegt, wird „Makeup Exam“ ausgegeben; wenn die Punktzahl über 60 Punkten liegt, wird „Bestanden“ ausgegeben.
2. CASE-Anweisung
Die CASE-Anweisung ist eine weitere häufig verwendete bedingte Anweisung in MySQL-gespeicherten Prozeduren. Der Unterschied besteht darin Die CASE-Anweisung unterstützt komplexere bedingte Urteile. Das Syntaxformat lautet wie folgt:
CASE expr WHEN value1 THEN statements1; WHEN value2 THEN statements2; ... ELSE statements; END CASE;
Dabei stellt expr einen Ausdruck oder eine Spalte dar, die zum Abgleichen des Werts in der WHEN-Bedingung verwendet wird; ... Stellt die Aktion dar, die bei übereinstimmenden Werten ausgeführt werden soll. Der ELSE-Anweisungsblock gibt die Aktion an, die ausgeführt werden soll, wenn keine Übereinstimmung vorliegt. In einer CASE-Anweisung kann es mehrere WHEN-Bedingungen geben.
Das Folgende ist ein Beispiel, um die Note des Schülers mithilfe der CASE-Anweisung zu ermitteln:
CREATE PROCEDURE check_level(IN score INT) BEGIN CASE WHEN (score >= 90) THEN SELECT 'Excellent'; WHEN (score >= 80) THEN SELECT 'Good'; WHEN (score >= 70) THEN SELECT 'Fair'; WHEN (score >= 60) THEN SELECT 'Pass'; ELSE SELECT 'Fail'; END CASE; END;
Im obigen Beispiel ergibt sich entsprechend den unterschiedlichen Noten der Schüler die entsprechende Note Ausgabe. Wenn die Punktzahl des Schülers über 90 liegt, wird „Ausgezeichnet“ zwischen 80 und 90 Punkten ausgegeben, „Gut“ wird zwischen 60 und 70 Punkten ausgegeben, dann wird „Bestanden“ ausgegeben; ; wenn das Ergebnis fehlschlägt, wird „Fehlgeschlagen“ ausgegeben.
3. Bedingungsanweisung
Bedingungsanweisung ist ein weiteres häufig verwendetes logisches Beurteilungstool in gespeicherten MySQL-Prozeduren:
(condition1) AND/OR (condition2)#🎜🎜 # Unter diesen stellen Bedingung1 und Bedingung2 die beiden Beurteilungsbedingungen der Bedingungsanweisung dar. Sie können AND oder OR verwenden, um verschiedene Bedingungen zu verbinden, und OR bedeutet, dass mindestens eine Bedingung erfüllt sein muss. Das Folgende ist ein Beispiel, um mithilfe einer bedingten Anweisung festzustellen, ob ein Schüler zu spät kommt:
CREATE PROCEDURE check_lateness(IN late INT) BEGIN IF (late = 0) OR (late <= 5) THEN SELECT 'On Time'; ELSE SELECT 'Late'; END IF; END;Wenn der Schüler im obigen Beispiel nicht zu spät kommt (d. h. zu spät=0 ) oder die verspätete Zeit. Wenn sie 5 Minuten nicht überschreitet, wird „Einschaltzeit“ ausgegeben, andernfalls wird „Spät“ ausgegeben. ZusammenfassungIF, CASE und bedingte Anweisungen sind häufig verwendete logische Beurteilungswerkzeuge in gespeicherten MySQL-Prozeduren. Sie können verschiedene Operationen basierend auf unterschiedlichen Bedingungen ausführen. In der tatsächlichen Entwicklungsarbeit können wir basierend auf spezifischen Geschäftsanforderungen unterschiedliche Beurteilungsaussagen auswählen, um die Effizienz und Lesbarkeit des Codes zu verbessern.
Das obige ist der detaillierte Inhalt vonBeurteilung der gespeicherten MySQL-Prozedur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!