我有以下mySQL (v5.7)存储过程,它工作得很好(它计算了最近25行的平均值):
CREATE DEFINER=`SqueezeOJ`@`%` PROCEDURE `NVG_SMA25`(
IN myDate DATE,
OUT mySMA25 DECIMAL(8,2)
)
BEGIN
SELECT ROUND(AVG(ClosingPrice), 2) INTO mySMA25 FROM NVG
WHERE TradeDate IN (SELECT * FROM (SELECT DISTINCT TradeDate
FROM NVG
WHERE TradeDate <= myDate
ORDER BY TradeDate DESC LIMIT 25) as calculating);
END我想参数化极限25来限制X,在这里我可以把X传递到过程中,但是我尝试的每一件事情都会导致错误。
有人能给我指明正确的方向吗?
谢谢,杰森
发布于 2020-11-15 01:25:36
13.2.9 SELECT语句 ..。
- Within prepared statements, LIMIT parameters can be specified using ? placeholder markers.- Within stored programs, LIMIT parameters can be specified using integer-valued routine parameters or local variables...。
见[医]小提琴。
https://stackoverflow.com/questions/64839318
复制相似问题