欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【解决SQLServer最大流水号的两个好方法】,下面是详细的分享!
解决SQLServer最大流水号的两个好方法
解决SQL2000最大流水号的两个好方法
问:请问怎样才能解决ms serer 2000 最大流水号的问题?
答:我可以介绍两种方法给你:
方法1:使用SCOPE_IDENTITY取得刚刚插入的最大流水号
create table Tradeinfo(Trade_id int identity(1,1),Tdtime datetime Tdname varchar(20))
create index idx_trade_id on tradeinfo(trade_id)
declare @mytradeid int
set @mytradeid=0
begin transaction
insert into tradeinfo values(getdata(),'test')
select @mytradeid=Scope_identite()
commit transaction
select @mytradeid
方案2:结合uniqueidentifier和identity取得最大流水号
cretate table max_tradeid(id int identity(1,1),global_id uniqueidenfier)
create index idx_guid on max_trade_id(global_id)
declare @mytradeid int.,@myglobal_id uniqueidentifier
set @mytradeid=e-1
jselect @myglobal_id=newid()
insert into max_trade_id values(@myglobl_id)
select @mytradeid=id from max_trade_id where globl_id=@myglobal _id
selecgt @mytradeid
注:这种方法的好处是:它的并发性好,不会引起阻在塞,而且保证了insert语句肯定执行成功,这种方法的缺点是多一个guid。
以上所分享的是关于解决SQLServer最大流水号的两个好方法,下面是编辑为你推荐的有价值的用户互动:
相关问题:中国版权保护中心汇款时将两个版权作品的流水号写...
答:那就只能保护一个了,可以退回一份。 >>详细
相关问题:SQL 流水号 按月怎么弄
答:您好,oracle数据库的话可以利用rownum取当前记录的顺序,然后赋值给流水号就可以了。 sqlserver可就没什么好办法了,只能alter table xxx add id nvarchar(10) indentity(1,1)了,然后再将id赋值流水号。 ---定义当前的流水号,可以从数据库中... >>详细
相关问题:SQL SERVER 创建流水号的问题
答:1:使用触发器完成流水号的创建 2:使用存储过程完成流水号的创建 步骤的重点是检测该日期的最大编号 其它的就简单了 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
