MySQL 자습서 mysqldump 데이터베이스 자습서 백업 코드
구분 기호 $$
만들기 정의 자 'root '@' localhost' 함수 'uf_get_tmaxcode' (=
V_itype INT
)은 varchar CHARSET UTF8을 반환합니다.
시작
/*
사업 설명: 코딩 범주에 따라 코드 생성
입력된 매개 변수:
V_itype: 인코딩 범주를 정의 하는 빌드 Tmaxcode Itype 필드의 정의
호출 예제:
선택 Uf_get_tmaxcode (1);
만든 날짜:
작성자:
*/
Icode INT; 선언
IF V_itype (1, 3)에
다음
존재 하는 경우 #非订单类 (Tmaxcode 어디 itype에서 선택 dtlast = v_itype도 0, 1) 다음
IFN 선택 펼 (imax, 0)에서 Tmaxcode 어디 itype icode에 + 1 = v_itype;
세트 ELSE icode = 1
끝 면;
선택 ifnull (맥스, 0)에서 Tmaxcode 어디 itype icode에 + 1 = v_itype;
존재 하는 경우 #订单类 ELSE (Tmaxcode 어디 itype에서 선택 iMax = v_itype 및 DATEDIFF (dtlast, current_date) = 0 0, 1) 다음
#上次生成时间是当天 선택 ifnull (맥스, 0)에서 Tmaxcode 어디 itype Icode에 + 1 = v_itype;
전자 LSE
세트 icode = 1.
끝 면;
끝 면;
IF EXISTS (Tmaxcode 어디 itype에서 선택 iMax = v_itype도 0, 1)
다음
업데이트 Tmaxcode
설정
Imax icode, =
Dtlast = current_date
어디
Itype = v_itype;
다른
Tmaxcode (itype, imax, dtlast)에 삽입
선택 v_itype, icode, current_date;
끝 면;
IF V_itype (1, 3)에
다음
#非订单类编码
반환 하는 CONCAT (", icode);
다른
#订单类编码
경우 1과 9 사이의 Icode
다음
반환 CONCAT ('0000', icode);
ELSEIF Icode 사이 고 99
다음
반환 하는 CONCAT ('m', icode);
ELSEIF Icode 사이 999
다음
반환 하는 CONCAT ('n', icode);
ELSEIF Icode 1000과 9999 사이
다음
반환 하는 CONCAT ('0', icode);
다른
반환 하는 CONCAT (", icode);
끝 면;
끝 면;
끝
$$
구분 기호;
? >