sql 生成不重复编号
来源:互联网 发布:docker 映射端口号 编辑:程序博客网 时间:2024/05/18 00:24
产生不重复的编号方法很多
比如采用自增的字段,或获取max(id),另就是采用 update table set @id=id,id=id+1 (rowlock)方式之类的.
但如果考虑并发的话,在loadrunner之类的并发工具测试.
1) 获取自增的字段是可以的.
set @id=SCOPE_IDENTITY();
2) 直接采用max(id)这种是不行的,并发有重复号码.
3) 自己处理,update 这种可以,但是高并发容易跳号
create table Tb_NO(
name char(20) primary key,--待产生编号的表名
head nvarchar(10)not null default'',--编号的前缀,默认值为空
currentNo int not null default 0,--当前的编号数据
BHlen int not null default 6, --编号数字部分的长度
descript nvarchar(40))--对编号的描述
--向编号表Tb_NO中添加记录,记录客户投诉表中的编号信息
insert into tb_no select ' tbl Cus_com’,'TS',0,4,'客户投诉表编号'
--创建存储过程,产生新编号
create proc pro_nextNO
@Name char(20),--待产生编号的表名
@NO nvarchar(20) output --返回新编号
as
begin tran
update tb_no with(rowlock)
set @NO=head+right(power(10,BHlen)+currentNo+1,BHlen),
currentno=currentno+1
where name=@Name
commit tran
go
- sql 生成不重复编号
- sql 生成不重复编号
- 生成不重复单据编号
- 生成不重复唯一编号工具类
- SQL快速生成100万不重复的8位编号
- 高并发 sql 生成不重复编号 (订单号) & 如何在高并发分布式系统中生成全局唯一Id
- 高并发 sql 生成不重复编号 (订单号) & 如何在高并发分布式系统中生成全局唯一Id
- 高并发 sql 生成不重复编号 (订单号) & 如何在高并发分布式系统中生成全局唯一Id
- 快速生成100万不重复的8位编号
- 生成8位随机不重复的数字编号
- 【生成8位随机不重复的数字编号】
- 10031---高并发 sql 生成不重复编号 (订单号) & 如何在高并发分布式系统中生成全局唯一Id
- SQL生成不重复的随机数
- sql 生成随机数 以及不重复随机数
- 如何快速生成100万不重复的8位编号
- 如何快速生成100万不重复的8位编号(zjcxc(邹建)的专栏)
- 如何快速生成100万不重复的8位编号?
- 如何快速生成100万不重复的8位编号
- [C#/Lua]C#和Lua交互的Demo
- jQuery 选择器
- 不错blog
- 手机电阻屏和电容屏哪个好?电容屏和电阻屏的区别!
- macro defination宏定义
- sql 生成不重复编号
- Linux:如何查看一个进程的详细的启动时间
- 琐碎笔记
- 实现屏幕截图
- Linux环境变量的设置和查看方法
- 清除所有cookie
- Erlang里实现MapReduce
- @RequestBody, @ResponseBody 注解详解
- iPhone应用程序编程指南