首页 > 数据库技术 > 详细

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

时间:2017-07-07 16:19:24      阅读:303      评论:0      收藏:0      [点我收藏+]

之前一直搞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的数据库存储过程的初始接触

原文:http://www.cnblogs.com/ljk1107/p/7132673.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!