SQL流水帐号的生成

1 --下面的代码生成长度为8的编号,编号以BH开头,其余6位为流水号。
2 --得到新编号的函数
3 CREATE FUNCTION f_NextBH()
4 RETURNS char(8)
5 AS
6 BEGIN
7     RETURN(SELECT 'BH'+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK))
8 END
9 GO
10
11 --在表中应用函数
12 CREATE TABLE tb(
13 BH char(8) PRIMARY KEY DEFAULT dbo.f_NextBH(),
14 col int)
15
16 --插入资料
17 BEGIN TRAN
18     INSERT tb(col) VALUES(1)
19     INSERT tb(col) VALUES(2)
20     INSERT tb(col) VALUES(3)
21     DELETE tb WHERE col=3
22     INSERT tb(col) VALUES(4)
23     INSERT tb(BH,col) VALUES(dbo.f_NextBH(),14)
24 COMMIT TRAN
25
26 --显示结果
27 SELECT * FROM tb
28 /*--结果
29 BH          col
30 ---------------- -----------
31 BH000001   1
32 BH000002   2
33 BH000003   4
34 BH000004   14
35 --*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值