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

Gọi các thủ tục được lưu trữ trong một thủ tục được lưu trữ với IF Logic?

Để gọi các thủ tục được lưu trữ trong một thủ tục được lưu trữ, cú pháp như sau -

If yourInputValue > 100 then
     call yourProcedureName1();
 else
    call yourProcedureName2();
    end If ;
    END

Hãy để chúng tôi thực hiện cú pháp trên. Để triển khai khái niệm trên, chúng ta hãy tạo một thủ tục được lưu trữ -

mysql> delimiter //
mysql> create procedure Hello_Stored_Procedure()
   -> BEGIN
   -> select 'Hello World!!!';
   -> END
   -> //
Query OK, 0 rows affected (0.18 sec)

Truy vấn để tạo thủ tục được lưu trữ thứ hai như sau -

mysql> create procedure Hi_Stored_Procedure()
   -> BEGIN
   -> select 'Hi!!!';
   -> END
   -> //
Query OK, 0 rows affected (0.17 sec)

Đây là truy vấn để gọi các thủ tục được lưu trữ trong một thủ tục được lưu trữ với logic IF -

mysql> DELIMITER //
mysql> create procedure test(IN input int)
   -> BEGIN
   -> If input > 100 then
   -> call Hello_Stored_Procedure();
   -> else
   -> call Hi_Stored_Procedure();
   -> end If ;
   -> END
   -> //
Query OK, 0 rows affected (0.18 sec)

Bây giờ bạn có thể gọi thủ tục đã lưu trữ với sự trợ giúp của lệnh gọi -

mysql> delimiter ;
mysql> call test(110);

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

+----------------+
| Hello World!!! |
+----------------+
| Hello World!!! |
+----------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)