mysql - TiDB CREATE FUNCTION 返回错误

标签 mysql distributed-database tidb

我在 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/

相关文章:

mysql - 查找外键引用字段的值

mysql - 通过将一列设置为 MySql 中其他两列的总和来更新表中的每一行

c++ - Visual C++ 2010 连接 MySQL

c# - cassandra 节点可以高度便携吗?

sql-delete - 如何从 DFS 表中删除所有记录但保留其架构?

mysql - TiDB 的 set[sync-log=false] 有什么区别和影响

javascript - 如何连接 Bookshelf.js 中的三个表?

eventual-consistency - 分布式数据库——最终一致性影响

sql - 联接如何在 Cloud Spanner 数据库中工作?