我在 TiDB 中运行这些代码:
CREATE FUNCTION `FN_UP_TRADEDAY`(
endDay int(11),
upDays int(11),
marketx varchar(20)
) RETURNS int(11)
READS SQL DATA
BEGIN
declare beginDay int(11);
declare days int(11) default upDays-1;
select
day into beginDay
from t_tradeday
where market = marketx and day <= endDay
order by day desc limit days, 1;
RETURN beginDay;
END;
但我无法创建该函数并收到错误消息:“[Err] 1105 - FN_UP_TRADEDAY
附近第 1 行第 15 列”。为什么?
最佳答案
我没有找到 TiDB 中创建函数的具体描述,所以我可以假设使用的是 SQL 的标准语法。
因此,您不应在函数名称中使用引号 '
。
返回后有字符串READS SQL DATA
,看起来像是注释,所以在前面添加--
,用于转义它。
关于mysql - TiDB CREATE FUNCTION 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51650791/