MySQL使用儲存過程生成編號(親測可用)

2021-10-12 04:00:28 字數 1649 閱讀 1598

create procedure `createserial`(

in table_name varchar(50),

in filed_name varchar(50) ,

in ordernamepre varchar(10),

in num int,

out serial    varchar(64))

begin

declare currentdate varchar (15) ;

declare maxno int default 0 ; 

declare padstrlength int default 3;

declare prelength int ;

set prelength = length(ordernamepre);

if num = 6 then

select date_format(now(), '%y%m%d') into currentdate ;-- 根據年月日生產訂單編號

elseif num = 8 then -- 根據年月日生成訂單編號   

select date_format(now(), '%y%m%d') into currentdate ;-- 訂單編號形式:字首+年月日+流水號,如:cg20201215001

elseif num = 14 then -- 根據年月日時分秒生成訂單編號   

select date_format(now(), '%y%m%d%h%i%s') into currentdate ; -- 訂單編號形式:字首+年月日時分秒+流水號,如:sh2013011010050700001,個人不推薦使用這種方法生成流水號   

else -- 根據年月日時分生成訂單編號   

select date_format(now(), '%y%m%d%h%i') into currentdate ;-- 訂單形式:字首+年月日時分+流水號,如:sh20130110100900005   

end if ;  

-- 預處理指令的使用

-- 使用max優化

mysql 生成流水號 儲存過程 訂單編號

用儲存過程生成流水號是很常用的,這裡以生成訂單編號的流水號作為示例。新的一天的流水號從1開始,如 今天的訂單編號是cd20130109 00014,下乙個訂單編號將是cd20130109 00015 明天的訂單編號將從cd20130110 00001開始 生成規則 2位字首 年月日 5位流水號 或者...

mysql 儲存過程生成 mysql儲存過程生成器

mysql 帶引數的儲存過程編寫該儲存過程是根據使用者輸入的條件和排序方式查詢使用者.mysql帶引數的儲存過程編寫 動態執行sql語句 計算機軟體及應用 it 計算機 專業資料。mysql 帶引數的儲存過程編寫 動態執行 sql 語句 該儲存過程是根據使用者輸入的.mysql 儲存過程研發規範前言...

mySQL 自動生成編號

create table table 1 id int unsigned not null primary keyauto increment,id列為無符號整型,該列值不可以為空,並不可以重複,而且自增。name varchar 5 not null auto increment 100 id列從...