如何在 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)
广告