MySql存储过程/函数可以在不使用临时表的情况下返回表吗?
创建以下过程
CREATE PROCEDURE database.getExamples()
SELECT * FROM examples;
Run Code Online (Sandbox Code Playgroud)
然后用它来调用它
CALL database.getExamples()
Run Code Online (Sandbox Code Playgroud)
显示示例表 - 正如预期的那样 - 但以下似乎不可能:
SELECT * FROM CALL database.getExamples()
Run Code Online (Sandbox Code Playgroud)
是否有可能从存储过程/函数返回查询结果表,如果是这样 - 如何?
假设我们有一个存储过程从表中选择一些东西:
CREATE PROCEDURE database.getExamples() SELECT * FROM examples;
如何在以后的选择中使用此过程的结果?(我试过了
SELECT * FROM (CALL database.getExamples())
但没有成功.)我应该在程序中使用SELECT ... INTO outVariable吗?或者我应该使用返回表格的函数吗?
我有电话声明
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语句中调用存储过程的方法吗?