Я использовал эти коды в 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 - строка 1 столбца 15 возле FN_UP_TRADEDAY
". Зачем?
Я не нашел конкретного описания для создания функций в TiDB, поэтому могу предположить, что используется стандартный синтаксис SQL.
Таким образом, вы не должны использовать кавычки '
в имени функции. После возврата есть строка READS SQL DATA
, кажется, что она комментирует, так что добавьте --
прежде, чтобы избежать ее.