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

在MySQL中,无法在FROM子句中使用select from过程。您可以使用CALL命令,然后可以执行SELECT语句。

让我们首先创建一个表:

mysql> create table DemoTable2
   -> (
   -> CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> CustomerName varchar(100),
   -> ShippingDateTime datetime
   -> );

以下是创建存储过程的查询:

mysql> DELIMITER //
mysql> CREATE PROCEDURE insert_information(Name varchar(100),shippingtime datetime)
   -> BEGIN
   ->
   -> INSERT INTO DemoTable2(CustomerName,ShippingDateTime) VALUES(Name,shippingtime);
   -> END
   -> //

mysql> DELIMITER ;

现在,您可以使用call命令来调用存储过程:

mysql> call insert_information('Chris',NOW());

这是在调用存储过程后使用select语句显示表中记录的查询。

mysql> select *from DemoTable2;

这将产生以下输出

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