Select*fromstudent_info;+----- -+ ---------+----------------+----------------+|id |Nama &nb"/> Select*fromstudent_info;+----- -+ ---------+----------------+----------------+|id |Nama &nb">

Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah pernyataan MySQL IF digunakan dalam prosedur tersimpan?

Bagaimanakah pernyataan MySQL IF digunakan dalam prosedur tersimpan?

王林
王林ke hadapan
2023-09-16 22:49:02816semak imbas

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

MySQL IF 语句在存储过程中实现基本条件构造。其语法如下 -

IF expression THEN
Statements;
END IF;

它必须以分号结尾。为了演示 IF 语句在 MySQL 存储过程中的使用,我们将创建以下存储过程,该过程基于名为“student_info”的表的值,如下所示 -

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)

以下查询将创建一个名为“coursedetails_IF”的过程,其中包含 IF 语句 -

mysql> DELIMITER // ;
mysql> CREATE PROCEDURE coursedetails_IF(IN S_Subject Varchar(20), OUT S_Course varchar(20))
    -> 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)';
    -> END IF;
    -> END //
Query OK, 0 rows affected (0.00 sec)

现在,当我们调用这个过程时,我们可以看到下面的结果 -

mysql> Delimiter ; //
mysql> CALL coursedetails_IF('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)

Atas ialah kandungan terperinci Bagaimanakah pernyataan MySQL IF digunakan dalam prosedur tersimpan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam