注册

自定义函数创建的对象带有编译错误,原MySQL自定义函数转入达梦8

DM_383846 2022/06/10 1530 2

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:win10
【CPU】:i7
【问题描述】*:自定义函数创建的对象带有编译错误,原MySQL自定义函数转入达梦8
原MySQL函数如下:
CREATE DEFINER=external@% FUNCTION getChildrenOrganList(rootId VARCHAR ( 1000 )) RETURNS varchar(1000) CHARSET utf8mb4 COLLATE utf8mb4_german2_ci
BEGIN
DECLARE
sTemp VARCHAR ( 1000 );
DECLARE
sTempChd VARCHAR ( 1000 );

SET sTemp = '';
SET sTempChd = cast( rootId AS CHAR );

WHILE sTempChd IS NOT NULL DO
    SET sTemp = concat( sTemp, ',', sTempChd );
    SELECT
        group_concat( F_Id ) INTO sTempChd 
    FROM
        base_organize 
    WHERE
        FIND_IN_SET( F_ParentId, sTempChd )> 0;
END WHILE;
RETURN sTemp;

END

我修改并执行的达梦函数如下:
CREATE OR REPLACE FUNCTION getChildrenOrganList(rootId IN VARCHAR(1000))
RETURN VARCHAR(1000)
AS
sTemp VARCHAR(1000);
BEGIN
sTemp := ‘’;
sTempChd := cast( rootId AS VARCHAR(1000));
WHILE sTempChd IS NOT NULL
LOOP
sTemp :=CONCAT( sTemp, ‘,’, sTempChd );
SELECT
wm_concat( F_Id ) as sTempChd
FROM
base_organize
WHERE
FIND_IN_SET(F_ParentId,sTempChd) > 0;
END LOOP;
RETURN sTemp;
END;

我修改完之后提示:自定义函数创建的对象带有编译错误,但没有其他附属信息,请问如何进行修改

回答 0
暂无回答
扫一扫
联系客服