如何使用mysql中的select语句调用存储过程

vin*_*eth 8 mysql select stored-procedures

我有电话声明

 CALL report_procedure
('2013-02-01',now(),'2015-01-01','1');
Run Code Online (Sandbox Code Playgroud)

我想在选择查询中使用它.我试过像

Select * from ( CALL report_procedure
    ('2013-02-01',now(),'2015-01-01','1'));
Run Code Online (Sandbox Code Playgroud)

但是发生错误.喜欢

错误代码:1064.您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以获得正确的语法(CALL report_procedure('2013-02-01',now(),'2015-01-01','1')在第3行0.297秒

任何人都可以建议我在mysql中的Select语句中调用存储过程的方法吗?

Dev*_*art 8

无法使用FROM子句中的过程的结果集.MySQL不允许这样做.

您可以在过程中填充另一个表(或临时表),然后在SELECT命令中使用该表 -

CALL report_procedure ('2013-02-01',now(),'2015-01-01','1'); -- fill temp_table
SELECT * FROM temp_table;
Run Code Online (Sandbox Code Playgroud)