我已经编写了这个 sql 函数并且得到了 1064 错误,我无法发现错误,请你帮帮我好吗?
错误代码:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以
ALN
在第 1 行的 'INT) RETURNS VARCHAR(10) READS SQL DATA BEGIN Declare substat'附近使用正确的语法
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `substation1`(`subofficecode` INT,`productcat` VARCHAR,`ALN` INT) RETURNS VARCHAR(10)
READS SQL DATA
BEGIN
DECLARE substation_ID VARCHAR(10);
DECLARE pcat VARCHAR(2);
DECLARE i INT;
IF (LENGTH(subofficecode) < 3)
subofficecode=CONCAT("00",subofficecode);
END IF;
IF(productcat = "REF")
pcat="11";
ELSE IF (productcat = "DF")
SET pcat="12";
ELSE IF (productcat = "MWO")
SET pcat="13";
ELSE IF (productcat = "WM")
SET pcat="14";
ELSE IF (productcat = "SPLIT")
SET pcat="15";
ELSE
SET pcat="16";
END IF;
SET i=(SELECT MAX(substationID) FROM Substation) + 1;
RETURN CONCAT(subofficecode,pcat,ALN,i);
END$$
分隔符;