我正在尝试使用 datagrip 在 mysql 中实现一个过程,但我仍然遇到此错误。
[42000][1064] 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,在第 3 行的“RECURSIVE 后代 AS (SELECT e.activity, CAST(e.activity AS CHAR(500)) AS”附近使用正确的语法
我在 Windows 上运行
mysql Ver 8.0.15 for Win64 on x86_64 (MySQL Community Server - GPL) 服务器版本:5.5.5-10.1.37-MariaDB mariadb.org 二进制分发
CREATE DEFINER=`root`@`localhost` PROCEDURE `findPaths`()
BEGIN
WITH RECURSIVE descendants AS
(
SELECT e.activity, CAST(e.activity AS CHAR(500)) AS path, n.cost as total_cost
FROM edges e JOIN nodes n
ON e.activity=n.code
WHERE e.activity='A'
UNION ALL
SELECT e.activity, CONCAT(d.path, ',', e.activity), d.total_cost+(SELECT cost FROM nodes WHERE code=e.activity)
FROM descendants d, edges e
WHERE e.parent=d.activity
)
SELECT * FROM descendants WHERE activity='M' OR activity='N' ORDER BY total_cost;
END
我希望创建并访问该过程以便运行
在 MariaDB-10.2 中添加的递归 CTE
从你的版本字符串你有 MariaDB-10.1.37
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句