Code Bye

mysql找不出语病拙计 求各位高手帮看看

DELIMITER $$
USE `yhjw`$$
DROP FUNCTION IF EXISTS `getpid`$$
CREATE DEFINER=`ucp`@`%` FUNCTION `getpid`(stcd CHAR(50),pid CHAR(200)) RETURNS VARCHAR(50) CHARSET utf8
BEGIN
DECLARE counts INT(4);
DECLARE _stcd CHAR(50);
DECLARE _pid CHAR(200);
IF(stcd IS NOT NULL OR LENGTH(stcd>0) AND pid IS NOT NULL OR LENGTH(pid>0)) THEN
SET counts=(LENGTH(pid)-LENGTH(REPLACE(pid,”,”,””)))+1;
WHILE(counts>0) DO
SELECT stcd,pid INTO _stcd,_pid FROM sys_tree_info WHERE stcd=stcd AND pid=split_str(pid,”,”,counts);
IF(_stcd <> NULL AND _stcd <> “” AND _pid <> NULL AND _pid <>””) THEN
SET counts=counts-1;
ITERATE;
ELSE
INSERT INTO sys_tree_info VALUES (stcd, split_str(pid,”,”,counts));
END IF;
SET counts=counts-1;
END WHILE;
RETURN “SUCCESS”;
ELSE
RETURN “error”;
END IF;
END$$
DELIMITER ;
解决方案

40

INSERT INTO sys_tree_info VALUES (stcd, split_str(pid,”,”,counts));
这句里的 split_str是拆分字符串的吗,假如是返回拆分完之后的多个记录,就会报错了

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql找不出语病拙计 求各位高手帮看看