Heim > Datenbank > MySQL-Tutorial > Wie wird die MySQL IF ELSE-Anweisung in gespeicherten Prozeduren verwendet?

Wie wird die MySQL IF ELSE-Anweisung in gespeicherten Prozeduren verwendet?

WBOY
Freigeben: 2023-09-21 23:17:04
nach vorne
851 Leute haben es durchsucht

Die

MySQL IF ELSE 语句如何在存储过程中使用?

MySQL IF ELSE-Anweisung implementiert die grundlegende bedingte Konstruktion, wenn der Ausdruck als falsch ausgewertet wird. Die Syntax lautet wie folgt:

IF expression THEN
   statements;
ELSE
   else-statements;
END IF;
Nach dem Login kopieren

Die Anweisung muss mit einem Semikolon enden.

Um die Verwendung der IF ELSE -Anweisung in einer gespeicherten MySQL-Prozedur zu demonstrieren, haben wir die folgende gespeicherte Prozedur erstellt: Basierend auf den Werten der Tabelle mit dem Namen „student_info“, wie unten gezeigt –

mysql> Select * from student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Jaipur     | Literature |
| 125  | Raman   | Shimla     | Computers  |
+------+---------+------------+------------+
3 rows in set (0.00 sec)
Nach dem Login kopieren

Die folgende Abfrage erstellt eine Datei mit dem Namen „coursedetails_IFELSE“ – die Prozedur, die die IF ELSE-Anweisung enthält –

mysql> DELIMITER // ;
mysql> CREATE PROCEDURE coursedetails_IFELSE(IN S_Subject Varchar(20), OUT S_Course varchar(50))
   -> BEGIN
   -> DECLARE Sub Varchar(20);
   -> SELECT Subject INTO SUB
   -> FROM Student_info WHERE S_Subject = Subject;
   -> IF Sub = 'Computers' THEN
   -> SET S_Course = 'B.Tech(CSE)';
   -> ELSE
   -> SET S_Course = 'Subject Not in the table ';
   -> END IF;
   -> END //
Query OK, 0 rows affected (0.00 sec)
Nach dem Login kopieren

Wenn wir nun diese Prozedur aufrufen, können wir die folgenden Ergebnisse sehen –

mysql> Delimiter ; //
mysql> CALL coursedetails_IFELSE('Computers', @S_Course);
Query OK, 1 row affected (0.00 sec)

mysql> Select @S_Course;
+-------------+
| @S_Course   |
+-------------+
| B.Tech(CSE) |
+-------------+
1 row in set (0.00 sec)

mysql> CALL coursedetails_IFELSE ('History', @S_Course);
Query OK, 0 rows affected (0.00 sec)

mysql> Select @S_Course;
+--------------------------------+
| @S_Course                      |
+--------------------------------+
| Subject Not in the table       |
+--------------------------------+
1 row in set (0.00 sec)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie wird die MySQL IF ELSE-Anweisung in gespeicherten Prozeduren verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage