DELIMITER $$
drop function if exists `F_GetSysID` $$
CREATE
FUNCTION `F_GetSysID`( TableName varchar(30))
RETURNS varchar(30)
BEGIN
declare TPreFix varchar(20);
declare TTotal varchar(20);
declare TNumLength varchar(20);
declare ZeroString varchar(20);
set @PreFix='';
set @Total ='';
set @Length=0 ;
set @TotalLength =0;
set @ZeroNum=0;
select PreFix into TPreFix from DicNoTable where TableName=TableName;
select Total into TTotal from DicNoTable where TableName=TableName;
select NumLength into TNumLength from DicNoTable where TableName=TableName;
set @TotalLength=length(TTotal+1);
if @TotalLength>TNumLength
then
set ZeroString='1';
end if;
if @TotalLength<=TNumLength
then
set ZeroString=TTotal+1;
while @ZeroNum<TNumLength-@TotalLength do
set ZeroString=concat('0',ZeroString);
set @ZeroNum=@ZeroNum+1;
end while;
set ZeroString=concat(TPreFix,ZeroString);