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

Posted 给给给2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql的数据库存储过程的初始接触相关的知识,希望对你有一定的参考价值。

之前一直搞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的数据库存储过程的初始接触的主要内容,如果未能解决你的问题,请参考以下文章

带有存储过程的 Spring Boot MySQL 数据库初始化错误

MySQL存储过程

mysql创建存储过程

MySQL 中的存储函数 - 值得吗?

MySql存储过程

MySql存储过程