CREATE DEFINER=`root`@`%` FUNCTION `GET_CHILD_NODE`(org_code varchar(100)) RETURNS varchar(2000) CHARSET utf8mb4 BEGIN DECLARE str varchar(2000) 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
时间: 2023-07-09 10:53:42 浏览: 215
The user specified as a definer ('root'@'%') does not exist 解决方法
从错误信息看,可能是因为你在 DECLARE 声明变量时没有指定变量的长度,导致语法错误。可以尝试将 DECLARE str varchar(2000) 修改为 DECLARE str VARCHAR(2000),其中 VARCHAR 表示变量的数据类型,2000 表示变量的长度。修改后的代码如下:
```
CREATE DEFINER=`root`@`%` FUNCTION `GET_CHILD_NODE`(org_code VARCHAR(100)) RETURNS VARCHAR(2000) CHARSET utf8mb4
BEGIN
DECLARE str VARCHAR(2000);
-- 其他语句
END
```
你可以根据自己的实际需求修改变量的数据类型和长度。注意,不同版本的 MySQL 对 DECLARE 的支持可能略有不同,如果问题仍然存在,可以进一步检查语法错误。
阅读全文