select @AppStr:=concat(@AppStr,'*',right(concat('0'+ImgIndex),2),AppName) from view_HZEmployeeAppCfg where username=@Username
还是会出错: 我写成存储过程CREATE PROCEDURE proc_HZGetAppStr(IN _UserName varchar(20)) BEGIN DECLARE _AppStr varchar(1000); SET _AppStr='' SELECT _AppStr:=CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) from view_HZEmployeeAppCfg where username=_Username; SET _AppStr=RIGHT(_AppStr,LENGTH(str)-1); SELECT _AppStr as AppStr; END;
CREATE PROCEDURE proc_HZGetAppStr(IN _UserName varchar(20)) BEGIN DECLARE _AppStr varchar(1000); SET _AppStr='' ;少了分号 SELECT _AppStr:=CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) from view_HZEmployeeAppCfg where username=_Username; SET _AppStr=RIGHT(_AppStr,LENGTH(str)-1); SELECT _AppStr as AppStr; END;
DELIMITER $$ DROP PROCEDURE IF EXISTS proc_HZGetAppStr$$ CREATE PROCEDURE proc_HZGetAppStr(IN _UserName VARCHAR(20)) BEGIN SET @AppStr=''; SELECT @AppStr:=CONCAT(@AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) FROM view_HZEmployeeAppCfg WHERE username=_Username; SET @AppStr=RIGHT(@AppStr,LENGTH(str)-1); SELECT @AppStr AS AppStr; END;$$ DELIMITER ;
还是提示出错:[SQL] CREATE PROCEDURE proc_HZGetAppStr(IN _UserName varchar(20)) BEGIN DECLARE _AppStr varchar(1000); SET _AppStr=''; SELECT _AppStr:=CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) from view_HZEmployeeAppCfg where username=_Username; SET _AppStr=RIGHT(_AppStr,LENGTH(_AppStr)-1); SELECT _AppStr as AppStr; END; [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':=CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) from view_HZEmployee' at line 5
[SQL] CREATE PROCEDURE proc_HZGetAppStr(IN _UserName varchar(20)) BEGIN DECLARE _AppStr varchar(1000); SET _AppStr=''; SELECT CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) into _AppStr from view_HZEmployeeAppCfg where username=_Username; SET _AppStr=RIGHT(_AppStr,LENGTH(_AppStr)-1); SELECT _AppStr as AppStr; END;
还是会出错:
我写成存储过程CREATE PROCEDURE proc_HZGetAppStr(IN _UserName varchar(20))
BEGIN
DECLARE _AppStr varchar(1000);
SET _AppStr=''
SELECT _AppStr:=CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName)
from view_HZEmployeeAppCfg where username=_Username;
SET _AppStr=RIGHT(_AppStr,LENGTH(str)-1);
SELECT _AppStr as AppStr;
END;
BEGIN
DECLARE _AppStr varchar(1000);
SET _AppStr='' ; 少了分号
SELECT _AppStr:=CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName)
from view_HZEmployeeAppCfg where username=_Username;
SET _AppStr=RIGHT(_AppStr,LENGTH(str)-1);
SELECT _AppStr as AppStr;
END;
DROP PROCEDURE IF EXISTS proc_HZGetAppStr$$
CREATE PROCEDURE proc_HZGetAppStr(IN _UserName VARCHAR(20))
BEGIN
SET @AppStr='';
SELECT @AppStr:=CONCAT(@AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) FROM view_HZEmployeeAppCfg WHERE username=_Username;
SET @AppStr=RIGHT(@AppStr,LENGTH(str)-1);
SELECT @AppStr AS AppStr;
END;$$
DELIMITER ;
BEGIN
DECLARE _AppStr varchar(1000);
SET _AppStr='';
SELECT _AppStr:=CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) from view_HZEmployeeAppCfg where username=_Username;
SET _AppStr=RIGHT(_AppStr,LENGTH(_AppStr)-1);
SELECT _AppStr as AppStr;
END;
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':=CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) from view_HZEmployee' at line 5
BEGIN
DECLARE _AppStr varchar(1000);
SET _AppStr='';
SELECT CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) into _AppStr from view_HZEmployeeAppCfg where username=_Username;
SET _AppStr=RIGHT(_AppStr,LENGTH(_AppStr)-1);
SELECT _AppStr as AppStr;
END;