DELIMITER $$
USE `roamerbuddy`$$
DROP PROCEDURE IF EXISTS `generate_orderNo`$$
CREATE DEFINER=`root`@`%` PROCEDURE `generate_orderNo`(IN orderNamePre CHAR(2), IN num INT, OUT newOrderNo VARCHAR(25))
BEGIN
DECLARE oldOrderNo VARCHAR (25) DEFAULT '' ;-- 离现在最近的满足条件的订单编号
DECLARE currentDate VARCHAR (15) ;-- 当前日期,有可能包含时分秒
DECLARE ordercurrentDate VARCHAR (15) ;-- 订单的当前日期,有可能包含时分秒
DECLARE orderNameValue INT; -- 订单变化的值
DECLARE orderNameNum INT DEFAULT 6; -- 订单变化的值
IF num = 8 THEN -- 根据年月日生成订单编号
SELECT DATE_FORMAT(NOW(), '%Y%m%d') INTO currentDate ;-- 订单编号形式:前缀+年月日+流水号,如:SH2013011000002
ELSEIF num = 14 THEN -- 根据年月日时分秒生成订单编号
SELECT DATE_FORMAT(NOW(), '%Y%m%d%H%i%s') INTO currentDate ; -- 订单编号形式:前缀+年月日时分秒+流水号,如:SH201