查表法生成流水號的示例 sql

2022-02-11 20:23:18 字數 814 閱讀 6344

--下面的**生成長度為8的編號,編號以bh開頭,其餘6位為流水號。

--得到新編號的函式

create function f_nextbh()

returns char(8)

asbegin

return(select 'bh'+right(1000001+isnull(right(max(bh),6),0),6) from tb with(xlock,paglock))

endgo

--在表中應用函式

create table tb(

bh char(8) primary key default dbo.f_nextbh(),

col int)

--插入資料

begin tran

insert tb(col) values(1)

insert tb(col) values(2)

insert tb(col) values(3)

delete tb where col=3

insert tb(col) values(4)

insert tb(bh,col) values(dbo.f_nextbh(),14)

commit tran

--顯示結果

select * from tb

/*--結果

bh         col

---------------- -----------

bh000001  1

bh000002  2

bh000003  4

bh000004  14

--*/

查表法按日期生成流水號 mssql

以下 生成的編號長度為12,前6位為日期資訊,格式為yymmdd,後6位為流水號。建立得到當前日期的檢視 create view v getdate asselect dt convert char 6 getdate 12 go 得到新編號的函式 create function f nextbh ...

SQL生成流水號

經過了幾次的測試終於成功了 declare year int,month int,day int,temp no varchar 12 needno varchar 4 no varchar 20 number varchar 50 randno varchar 50 nu varchar 10 s...

sql 生成流水號

mysql生成流水號 select lpad ifnull max substring business order code,3,4 1,1 4,0 as waternumber from bh customer info business order code的值為前面兩位英文,後面四位數字,例...