Heim  >  Artikel  >  Datenbank  >  So verwenden Sie verschachtelte if-Anweisungen in gespeicherten MySQL-Prozeduren

So verwenden Sie verschachtelte if-Anweisungen in gespeicherten MySQL-Prozeduren

WBOY
WBOYnach vorne
2023-05-26 12:07:341817Durchsuche

1. Einführung in die if-Anweisung

Die if-Anweisung ist eine verzweigte Strukturanweisung, die verschiedene Operationen basierend auf Bedingungen ausführt. Die if-Anweisung besteht normalerweise aus einem bedingten Ausdruck und einer oder mehreren Anweisungen. Voraussetzung für die Ausführung der Anweisungen in der if-Anweisung ist, dass der Wert des bedingten Ausdrucks wahr ist, andernfalls wird der if-Anweisungsblock übersprungen. Die Syntax der

if-Anweisung lautet wie folgt:

if(condition)then
    statement;
else
    statement;
end if;

wobei Bedingung der bedingte Ausdruck und Anweisung die SQL-Anweisung ist, die ausgeführt werden muss.

2. Einführung in verschachtelte if-Anweisungen

Eine verschachtelte if-Anweisung befindet sich in einem if-Anweisungsblock, in dem ein oder mehrere if-Anweisungsblöcke verschachtelt sind. Der Zweck besteht darin, verschiedene Operationen basierend auf unterschiedlichen Bedingungen auszuführen. Die Syntax verschachtelter if-Anweisungen lautet wie folgt:

rrree

Bedingung1 ist der bedingte Ausdruck der ersten Ebene, wenn; Bedingung3 der bedingte Ausdruck der ersten if-Anweisung ist; ist die auszuführende SQL-Anweisung.

3. Beispiel für verschachtelte if-Anweisungen

Das Folgende ist ein Beispiel für eine gespeicherte Prozedur, die verschachtelte if-Anweisungen verwendet:

if(condition1)then
    statement;
    if(condition2)then
        statement;
    else
        statement;
    end if;
else if(condition3)then
    statement;
else
    statement;
end if;

Diese gespeicherte Prozedur wird verwendet, um die Leistung des Schülers basierend auf der Punktzahl des Schülers zu ermitteln:

  1. Wenn die Punktzahl größer als 90 Punkte ist, ist sie ausgezeichnet. Wenn sie 100 Punkte beträgt, wird „volle Punktzahl“ hinzugefügt eine bestandene Note;

  2. Wenn die Punktzahl weniger als 60 Punkte beträgt, handelt es sich um eine nicht bestandene Note.

  3. 4. Aufruf der gespeicherten Prozedur

Die gespeicherte Prozedur kann über den Aufrufbefehl aufgerufen werden. Die Syntax lautet wie folgt:

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 ;
Dabei ist procedure_name der Name der gespeicherten Prozedur, Argument1, Argument2 usw . sind die Parameter der gespeicherten Prozedur.

Um beispielsweise die obige gespeicherte Prozedur aufzurufen, können Sie den folgenden Befehl verwenden:

call procedure_name(argument1, argument2, ...);

Übergeben Sie einen Schülernamensparameter und geben Sie das Ergebnis über den Out-Parameter aus. Das Ergebnis ist wie folgt:

call test_if_nested('张三', @result_msg);
select @result_msg as result;

Durch die obige Aufrufmethode können wir die Punktzahl des Schülers anhand seines Namens ermitteln und das Niveau des Schülers anhand der Punktzahl beurteilen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie verschachtelte if-Anweisungen in gespeicherten MySQL-Prozeduren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen