请教这个Function有什么不对,怎么拿不到值
那个循环有问题吗? 返回的v_function是空. 但事实上满足循环条件的应该.
CREATE FUNCTION DB2ADMIN.F_GET_FUN_BYROLEID ("P_ROLE_ID" VARCHAR(256) )
RETURNS VARCHAR(1000)
BEGIN ATOMIC DECLARE v_functions VARCHAR(1000);
DECLARE v_int INT;
FOR v_count AS
SELECT SITE_MAP_DESC FROM T_IC_SITE_MAP WHERE LOCATE (p_role_id, ROLE_NAMES) > 0
DO
SET v_functions = v_functions || SITE_MAP_DESC; SET v_int = v_int + 1;
IF v_int > 1 THEN
SET v_functions = ',' || v_functions;
END IF; END FOR;
RETURN v_functions;
END