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

Làm thế nào để gọi một thủ tục được lưu trữ bằng cách sử dụng câu lệnh select trong MySQL?

Trong MySQL, không thể sử dụng thủ tục select from trong mệnh đề FROM. Bạn có thể sử dụng lệnh CALL và sau đó câu lệnh SELECT có thể được thực thi.

Đầu tiên chúng ta hãy tạo một bảng:

mysql> create table DemoTable2
   -> (
   -> CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> CustomerName varchar(100),
   -> ShippingDateTime datetime
   -> );
Query OK, 0 rows affected (0.66 sec)

Sau đây là truy vấn để tạo thủ tục được lưu trữ:

mysql> DELIMITER //
mysql> CREATE PROCEDURE insert_information(Name varchar(100),shippingtime datetime)
   -> BEGIN
   ->
   -> INSERT INTO DemoTable2(CustomerName,ShippingDateTime) VALUES(Name,shippingtime);
   -> END
   -> //
Query OK, 0 rows affected (0.16 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 insert_information('Chris',NOW());
Query OK, 1 row affected, 1 warning (0.15 sec)

Đây là truy vấn để hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select sau khi gọi thủ tục được lưu trữ.

mysql> select *from DemoTable2;

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

+------------+--------------+---------------------+
| CustomerId | CustomerName | ShippingDateTime    |
+------------+--------------+---------------------+
| 1          | Chris        | 2019-04-08 15:03:07 |
+------------+--------------+---------------------+
1 row in set (0.00 sec)