首頁  >  文章  >  php教程  >  mysql MySqlDump数据库备份代码

mysql MySqlDump数据库备份代码

WBOY
WBOY原創
2016-06-02 09:14:211288瀏覽

DELIMITER $$ 
 
CREATE DEFINER=`root`@`localhost` FUNCTION `UF_Get_tMaxCode`( 
  V_iType INT 
) RETURNS varchar(10) CHARSET utf8 
BEGIN 
/* 
业务描述:根据编码类别产生编码 
 
输入参数: 
V_iType:编码类别,定义建tMaxCode的iType字段的定义 
 
调用示例: 
SELECT UF_Get_tMaxCode(1); 
 
创建日期: 
创建人: 
 
*/ 
DECLARE iCode INT; 
 
IF V_iType IN (1,3) 
  
 
THEN 
#非订单类 
IF EXISTS (SELECT dtLast FROM tMaxCode WHERE iType=V_iType LIMIT 0,1) 
THEN   
SELECT IFNULL(iMax,0)+1 INTO iCode FROM tMaxCode WHERE iType=V_iType; 
ELSE 
SET iCode=1; 
END IF; 
SELECT IFNULL(iMax,0)+1 INTO iCode FROM tMaxCode WHERE iType=V_iType; 
ELSE 
#订单类 
IF EXISTS (SELECT iMax FROM tMaxCode WHERE iType=V_iType AND DATEDIFF(dtLast,CURRENT_DATE)=0 LIMIT 0,1) 
THEN   
#上次生成时间是当天 
  SELECT IFNULL(iMax,0)+1 INTO iCode FROM tMaxCode WHERE iType=V_iType; 
ELSE 
SET iCode=1; 
END IF; 
END IF; 
 
IF EXISTS (SELECT iMax FROM tMaxCode WHERE iType=V_iType LIMIT 0,1) 
THEN   
UPDATE tMaxCode 
SET  
iMax=iCode, 
dtLast=CURRENT_DATE 
WHERE 
iType=V_iType; 
ELSE   
INSERT INTO tMaxCode (iType,iMax,dtLast) 
SELECT V_iType,iCode,CURRENT_DATE; 
END IF; 
 
IF V_iType IN (1,3) 
THEN 
#非订单类编码   
RETURN CONCAT('',iCode); 
ELSE 
#订单类编码 
IF iCode BETWEEN 1 AND 9 
THEN 
RETURN CONCAT('0000',iCode); 
ELSEIF iCode BETWEEN 10 AND 99 
THEN   
RETURN CONCAT('000',iCode); 
ELSEIF iCode BETWEEN 100 AND 999 
THEN   
RETURN CONCAT('00',iCode); 
ELSEIF iCode BETWEEN 1000 AND 9999 
THEN   
RETURN CONCAT('0',iCode); 
ELSE//开源代码phprm.com 
RETURN CONCAT('',iCode); 
  END IF; 
  END IF; 
END 
$$ 
 
DELIMITER ;


文章地址:

转载随意^^请带上本文地址!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn