Rachel2014 2014-04-29 13:55
浏览 959

大家好,我用mysql写存储过程自动产生编号,运行之后编号只有1,请问哪儿有问题呢?

BEGIN
DECLARE subjectNo1 char(8);
DECLARE subjectNo2 char(8);
DECLARE nowYear char(4);
DECLARE Num DECIMAL;

select date_format(now(),'%Y') into nowYear from DUAL;
select ifnull(max(Subject_No),'0') into subjectNo1
from subject
where Subject_No like nowYear||'%';
if subjectNo1='0' then
set subjectNo2=nowYear||'0001';
else
set Num=to_number(substr(subjectNo1,5,4))+1;
if Num<10 then set subjectNo2=nowYear||'000'||ltrim(to_char(Num));
elseif Num<100 then set subjectNo2=nowYear||'00'||ltrim(to_char(Num));
elseif Num<1000 then set subjectNo2=nowYear||'0'||ltrim(to_char(Num));
else
set subjectNo2=nowYear||ltrim(to_char(Num));
end if;
end if;
set newSubjectNo=subjectNo2;
END

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥20 Python安装cvxpy库出问题
    • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
    • ¥15 python天天向上类似问题,但没有清零
    • ¥30 3天&7天&&15天&销量如何统计同一行
    • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
    • ¥15 C#调用python代码(python带有库)
    • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
    • ¥15 活动选择题。最多可以参加几个项目?
    • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
    • ¥15 vs2019中数据导出问题