MySql嵌套存储过程调用
我在MySQL中有2个存储过程。我想从一个调用另一个,但我需要一些语法方面的帮助 以下是程序1 FindPreviousDateMySql嵌套存储过程调用,mysql,stored-procedures,syntax,Mysql,Stored Procedures,Syntax,我在MySQL中有2个存储过程。我想从一个调用另一个,但我需要一些语法方面的帮助 以下是程序1 FindPreviousDate DELIMITER $$ CREATE PROCEDURE `FindPreviousDate`(IN eventdate DATETIME, IN lookbackDays INT, IN symbol VARCHAR(20)) BEGIN SELECT * FROM Price a WHERE a.eventDate between (eventDate - in
DELIMITER $$ CREATE PROCEDURE `FindPreviousDate`(IN eventdate DATETIME, IN lookbackDays INT, IN symbol VARCHAR(20))
BEGIN
SELECT *
FROM Price a
WHERE a.eventDate between (eventDate - interval lookbackDays day) and (eventdate - interval 1 day) and a.symbol = symbol
ORDER BY a.eventDate DESC
LIMIT 1;
END
以下是过程2 FindCloseEvent
CREATE PROCEDURE `FindCloseEvent`(IN startdate DATETIME, IN enddate DATETIME,IN symbol VARCHAR(20), IN cutoff DOUBLE)
BEGIN
SELECT *
FROM Price a
WHERE a.eventDate between startdate and enddate and
(SELECT COUNT(*) from Price b where b.eventDate = a.eventDate and b.closePrice < cutoff and a.symbol = b.symbol and
(SELECT COUNT(*) from Price c where c.eventDate = (b.eventDate - interval 1 day) and c.closePrice >= cutoff and b.symbol = c.symbol));
END
我需要帮助,让语法正确。我甚至不确定mySql是否能满足我的要求
谢谢 在过程中,您可以使用OUT变量,这些变量会被填充,并且在过程之外可用。 或
因为MySQL过程不返回值。您需要一个存储的函数来实现这一点 使用下面链接中给出的示例从过程2调用函数1 您甚至可以将function1的结果存储到procedure2的某个变量中,并在以后的查询中使用它
(b.eventDate - interval 1 day)