Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để sử dụng IF trong thủ tục được lưu trữ và chọn trong MySQL?

Bạn có thể sử dụng IF trong thủ tục được lưu trữ và IF () trong câu lệnh select.

IF () trong câu lệnh chọn

IF() in select statement mysql> select if(0=0,'Hello MySQL','condition is wrong');

Điều này sẽ tạo ra kết quả sau -

+------------------------------------------------------+
| if('test'='test','Hello MySQL','condition is wrong') |
+------------------------------------------------------+
| Hello MySQL                                          |
+------------------------------------------------------+
1 row in set (0.00 sec)

Trường hợp thứ hai nếu tình trạng của bạn trở nên sai -

mysql> select if(1=0,'Hello MySQL','condition is wrong');

Điều này sẽ tạo ra kết quả sau -

+--------------------------------------------+
| if(1=0,'Hello MySQL','condition is wrong') |
+--------------------------------------------+
| condition is wrong                         |
+--------------------------------------------+
1 row in set (0.00 sec)

Nếu trong thủ tục được lưu trữ

Truy vấn để tạo một thủ tục được lưu trữ như sau. Ở đây, chúng tôi đã sử dụng IF để đặt điều kiện -

mysql> DELIMITER //
mysql> CREATE PROCEDURE if_demo(value int)
   BEGIN
      IF 1=value
         THEN SELECT "Hello MySQL";
      ELSE
         SELECT "Wrong Condition";
      END IF;
   END
   //
Query OK, 0 rows affected (0.20 sec)
mysql> DELIMITER ;

Bây giờ bạn có thể gọi thủ tục đã lưu trữ bằng lệnh gọi.

mysql> call if_demo(1);

Điều này sẽ tạo ra kết quả sau -

+-------------+
| Hello MySQL |
+-------------+
| Hello MySQL |
+-------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)

Nếu điều kiện của bạn trở thành sai -

mysql> call if_demo(0);

Điều này sẽ tạo ra kết quả sau -

+-----------------+
| Wrong Condition |
+-----------------+
| Wrong Condition |
+-----------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)