drop procedure if exists sp_AutoOrderNo;
DELIMITER  
#单号生成
CREATE procedure sp_AutoOrderNo(
p_TableName  varchar(50),
P_Storage    varchar(50),
p_CompanyName  varchar(50),
OUT p_return   varchar(50)  )
 BEGIN
Declare v_No varchar(50);
Declare v_NoTwo varchar(50);
Declare v_NoTemp varchar(50);
Declare v_Notes varchar(100);
Declare v_CompanyName varchar(50);
Declare v_Storage varchar(50);
Declare v_Prefix varchar(50);
Declare v_Suffix varchar(50);
Declare v_IsYear varchar(50);
Declare v_IsMonth varchar(50);
Declare v_IsDay varchar(50);
Declare v_Err varchar(200);
Declare v_returns varchar(50);
Declare v_Count int;

SELECT NumberCount,Prefix,Suffix,IsYear,IsMonth,IsDay, CountNo FROM tab_ispara WHERE IdPara=p_TableName ;  #查出单号设置信息
SET v_No=NumberCount;
SET v_Prefix=Prefix;
SET v_Suffix=Suffix;
SET v_Notes=CountNo;
if IsYear is not null
then
SET v_IsYear=year( now());    #判断是否要年份
end if; if IsMonth<>''
then
SET v_IsMonth= month( now());  #判断是否要月份
end if; if IsDay<>''
then
SET v_IsDay= day( now()); #判断是否要日期
end if; IF P_Storage<>''
then
Set v_Storage=P_Storage;   #判断是否要仓库名称
end if;

IF p_CompanyName<>''
then
Set v_CompanyName=p_CompanyName;#判断是否要公司名称
end if;

Set p_return='';
SET v_Count=0;
IF p_TableName<>''
then
set v_NoTemp=Substring('00000',1,5-len(ltrim(rtrim(v_No))))+v_Notes;
set v_returns =v_Prefix+Upper(ltrim(rtrim(v_CompanyName)))+Upper(ltrim(rtrim(v_Storage)))+v_IsYear + v_IsMonth+v_IsDay + v_NoTemp;
select v_returns into p_return; #生成的订单编号
IF v_Notes<>0
then
SET v_NoTwo=v_Notes+1;
SET v_Notes=v_NoTwo;
set v_NoTemp=Substring('00000',1,5-len(ltrim(rtrim(v_Notes))))+v_Notes;
set v_returns =v_Prefix+Upper(ltrim(rtrim(v_CompanyName)))+Upper(ltrim(rtrim(v_Storage)))+v_IsYear + v_IsMonth+v_IsDay + v_NoTemp;
select v_returns into p_return;#生成的订单编号
end if;
end if;END ;#调用
call sp_AutoOrderNo('1','ggg','wwww',@out)返回结果是第一次select的内容(就是单号设置信息)而不是订单编号;哪里出错了,帮帮忙