将一个.sql文件编辑,文本中最后加入下面这段代码(部分代码)后,导入这个sql文件就会报错(这段新加代码未能导入)
原因是什么?还有就是应该如何解决这个问题。多谢了!
#
# Function "fun_getChildList"
#
DROP FUNCTION IF EXISTS `fun_getChildList`;
CREATE FUNCTION `fun_getChildList`(`type` int,`areaid` int,`orgid` int) RETURNS varchar(1000) CHARSET utf8
BEGIN
DECLARE sTemp VARCHAR(1000);
DECLARE xh VARCHAR(50);
DECLARE areacode VARCHAR(100);
DECLARE cunt INT;
SELECT CONCAT(ORGXH,'%') INTO xh from ss_organization where ID_ORG=orgid;
IF type=1 THEN
set sTemp='$';
SELECT CONCAT(sTemp,',',GROUP_CONCAT(ID_ORG)) INTO sTemp from ss_organization where ORGXH like xh;
ELSEIF type=0 THEN
SELECT COUNT(1) into cunt FROM ss_organization where ss_organization.ID_ORG=orgid and ss_organization.ORG_DISTRPARENTID=areaid;
if cunt>0 then
select area_code INTO areacode from bs_distrarea_info where area_id=areaid;
SELECT IFNULL(GROUP_CONCAT(ID_ORG),'0') into sTemp from ss_organization
LEFT JOIN bs_distrarea_info ON ORG_DISTRPARENTID=area_id where area_code like CONCAT(areacode,'%') and area_id<>areaid;
SELECT CONCAT(sTemp,',',IFNULL(GROUP_CONCAT(ID_ORG),'0')) INTO sTemp from ss_organization where ORGXH like xh;
ELSEIF cunt=0 THEN
SELECT IFNULL(GROUP_CONCAT(ID_ORG),'0') into sTemp from ss_organization where ss_organization.ORG_DISTRPARENTID=areaid;
end IF;
SET sTemp=CONCAT('$',',',sTemp);
END IF;
RETURN sTemp;
END;
#
# Function "fun_getOrgLine"
#
DROP FUNCTION IF EXISTS `fun_getOrgLine`;
CREATE FUNCTION `fun_getOrgLine`(`orgid` int) RETURNS varchar(1000) CHARSET utf8
BEGIN
DECLARE sTemp VARCHAR(1000);
DECLARE sTempChd VARCHAR(1000);
DECLARE grade INT;
DECLARE enterprisename VARCHAR(100);
DECLARE st INT;
SELECT ss_organization.ORG_GRADE,ss_organization.ENTERPRISE_NAME into grade,enterprisename from ss_organization where ss_organization.ID_ORG=orgid;
SET st=1;
WHILE grade<=st DO
set st=st+1;
END WHILE;
RETURN grade;
END;
#
# Function "getChildLst"
#
DROP FUNCTION IF EXISTS `getChildLst`;
CREATE FUNCTION `getChildLst`(rootId INT) RETURNS varchar(1000) CHARSET utf8
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(o.ID_ORG) INTO sTempChd FROM ss_organization o where FIND_IN_SET(o.ORG_PARENT_ID,sTempChd)>0;
END WHILE;
RETURN sTemp;
END;