当前位置:Gxlcms > 数据库问题 > Mysql的数据库存储过程的初始接触

Mysql的数据库存储过程的初始接触

时间:2021-07-01 10:21:17 帮助过:13人阅读

之前一直搞oracle,来到新公司后接触mysql虽然感觉差不多,但是mysql的还是很不方便,比如以下函数都不支持turnc这样的简单函数。

打算写一个订单号的存储过程,类似  字母+年月日编号

BEGIN
DECLARE currentDate varCHAR (15) ;-- 当前日期,有可能包含时分秒
DECLARE maxNo INT DEFAULT 0 ; -- 离现在最近的满足条件的订单编号的流水号最后5位,如:SH2013011000002的maxNo=2

SELECT DATE_FORMAT(NOW(), ‘%Y%m%d‘) INTO currentDate ;
select max(substring(t.order_no,12,4)) into maxNo from mmd_po_order t where substring(t.order_no,4,8)=DATE_FORMAT(now(),‘%Y%m%d‘);
if maxNo!=‘‘ THEN
SELECT CONCAT(‘MMD‘, currentDate, LPAD((maxNo + 1), 4, ‘0‘)) INTO orderNo ; -- LPAD((maxNo + 1), 5, ‘0‘):如果不足5位,将用0填充左边
ELSE
SELECT CONCAT(‘MMD‘, currentDate, ‘0001‘) INTO orderNo ;
END IF;

select orderNo;

COMMIT;
END

Mysql的数据库存储过程的初始接触

标签:varchar   ring   nbsp   turn   current   bst   pad   mat   bsp   

人气教程排行