如何在 MySQL 中使用 select 語句來呼叫儲存過程?


在 MySQL 中,無法在 FROM 子句中使用 select from procedure。你可以使用 CALL 命令,之後才能執行 SELECT 語句。

讓我們首先建立一個表

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)

以下是建立儲存過程的查詢

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 ;

現在你可以使用 call 命令來呼叫儲存過程

mysql> call insert_information('Chris',NOW());
Query OK, 1 row affected, 1 warning (0.15 sec)

以下是呼叫儲存過程後使用 select 語句從表中顯示記錄的查詢。

mysql> select *from DemoTable2;

這將產生以下輸出

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

更新於:30-Jul-2019

5K+ 瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.