【发布时间】:2021-05-16 15:52:08
【问题描述】:
我想在“日志”表上运行 UDF。但是当我运行它时,它会显示以下错误:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 18 行的“SELECT threeConsecutive() AS ConsecutiveNums FROM Logs”附近使用正确的语法
我创建 UDF 并运行它的代码如下:
CREATE FUNCTION threeConsecutive() returns INT
BEGIN
RETURN(
SELECT DISTINCT l3.num
FROM
Logs l1,
Logs l2,
Logs l3
WHERE
l1.id = l2.id -1
AND l2.id = l3.id -1
AND l1.num = l2.num
AND l2.num = l3.num
);
END
SELECT threeConsecutive() AS ConsecutiveNums FROM Logs ;
第 18 行是最后一行,如下所示:
SELECT threeConsecutive() AS ConsecutiveNums FROM Logs ;
【问题讨论】:
-
您使用的是 MySQL、Microsoft SQL Server、PostgreSQL 还是 Oracle 数据库?该错误表明您正在使用 MySQL,但您已标记所有四个。仅标记您正在使用的 SQL 数据库的品牌。
-
MySQL,如错误消息所示
标签: mysql user-defined-functions