MySQL 如何使用SELECT语句调用存储过程
在MySQL中,无法在FROM子句中使用来自存储过程的SELECT。您可以使用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)
阅读更多:MySQL 教程