解决ms serer 2000 最大流水号问题
来源:互联网 发布:淘宝买的8lag怎么用 编辑:程序博客网 时间:2024/06/05 00:10
方案一:使用SCOPE_IDENTITY取得刚刚插入的最大流水号
/*建立traddeinfo表各相关索引,注意Trade_id字段必段是identity型*/
create table Tradeinfo(Trade_id int identity(1,1),Tdtime datetime Tdname varchar(20))
create index idx_trade_id on tradeinfo(trade_id)
/*使用scope_identity()中断函数,取得当前脚本范围内最后insert进去的identity值*/
declare @mytradeid int
set @mytradeid=0
begin transaction
insert into tradeinfo values(getdata(),'test')
select @mytradeid = Scope_identite()
commit transaction
/*把@mytradeid 变量中存放的流水号显示出来*/
select @mytradeid
方案二:结合uniqueidentifier和identity取得最大流水号
/*创建辅助表 id字段是identity类型,global_id是gudi类型*/
cretate table max_tradeid(id int identity(1,1),global_id uniqueidenfier)
/*创建索引以加速后面的select 语句*/
create index idx_guid on max_trade_id(global_id)
declare @mytradeid int.,@myglobal_id uniqueidentifier
set @mytradeid = e-1
/*利用newid ()函数取得一个全局叭一guid .由于guid的特性,不用别的并发进程会产生同样的guid值 */
jselect @myglobal_id = newid()
insert into max_trade_id values(@myglobl_id)
/*使用全局唯一guid得到刚刚插入的id值*/
select @mytradeid = id from max_trade_id where globl_id =@myglobal _id
selecgt @mytradeid
这种方法的好处是 它的并发性好,不会引起阻在塞,而且保证了insert语句肯定执行成功,这种方法的缺点是多一个guid
- 解决ms serer 2000 最大流水号问题
- 彻底解决Ms sql server 2000中的最大流水号的生成问题
- mysql触发器流水号问题的解决
- 解决SQLServer最大流水号的两个好方法
- 如何解决数据一致性、任务调度、流水号生成等问题?
- sql 获取最大的流水号
- 单据流水号生成问题
- 解决流水号重复的简单方法
- POJ1273 最大流水题
- HDU3549--最大流水题
- 最大流水题集锦
- 解决MS SQL Server 死锁的问题
- SQL:查询最大的流水号,一直显示的最大流水号是9,但是数据库中流水号明明最大的不是9.
- .net通用获取流水号最大编号方法
- 实现没有溢出问题的流水号
- 贪心解决最大最小公倍数问题
- POJ 3281 最大流水题
- hdu 最大流水题集锦。。。
- wrapper 在 2k server 里面需要用 administrator 来起服务。
- 产品开发模式管理网站开发
- 关于STL中stack的实现的讨论
- Report Service相关
- 我的第一篇文章:Symbian中同步socket用法
- 解决ms serer 2000 最大流水号问题
- 买DC与软件需求
- 在数据架构规划前进行XML消息的设计,增加Web服务的互操作性
- C++写的DLL,传结构给VB用
- ANSI 与 UNICODE 的区别。(转)
- 又出差了
- 操作系统实验_利用银行家算法避免死锁
- 在Delphi中实现类型安全的容器,Delphi泛型库DGL引介(提供源码下载)
- Delphi泛型库DGL中的接口的声明