解决SQLServer最大流水号的两个好方法
作者:yashi 发布时间:2009-01-13 14:15:00
解决SQL2000最大流水号的两个好方法
问:请问怎样才能解决ms serer 2000 最大流水号的问题?
答:我可以介绍两种方法给你:
方法1:使用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
方案2:结合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。
猜你喜欢
- 如何正确理解和使用Command、Connection和 Recordset三个对象?我知道它们都是连接数据库的“好手”,但在编程的具体应用
- SWFUpload上传组件,最初由Vinterwebb.se开发,组件主体由Flash与JavaScript整合而成,主要致力解决多文件、大
- [数据恢复故障描述]一台重要的MYSQL数据库服务器,146GB*2,RAID1,约130GB DATA卷,存储了大约200~300个数据库
- 要开发一个基于数据库的应用系统,其中最关键的一步就是整个系统所依据的数据库的建模设计,从逻辑的到物理的,一个环节疏于设计,整个的应用系统便似
- 下拉框连动JavaScript代码,市区二级联动多级联动下拉选择框,动态获取下一级琥珀无限级联动菜单-JavaScript版 <htm
- 在web2.0的站中用户互动性是很强的,例如用户留言我们可能放开img标签,允许用户外链其他站点的图片,那么我们就需要解决图片尺寸过大所带来
- 阅读上一篇:WEB2.0网页制作标准教程(11)不用表格的菜单辛苦了好多天,我们努力学习使用XHTML+CSS来重新设计我们的网站。那么我们
- background-clip 和 background-origin 是 CSS3 中新加的 background module 属性,用
- 让ASP搭配MYSQL所需要工具mysql-4.1.11-win32 myodbc-3.51.11-1-dll myodbc-3.51.11
- 登陆页login.asp:<% if request.Form.count>0 then ses
- 作者:Jim Ley(主页)译者:Sheneyan(子乌)时间:2006.1.29英文原文:http://jibbering.com/200
- 在运用xmlhttp组件编写程序中,会碰到 "msxml3.dll 错误 ‘800c0005’&nb
- 我们在工作中经常强调沟通能力,和产品、开发、测试等不同角色的人需要沟通,和领导、同事需要沟通,沟通是一个双向的过程,而沟通首先需要双方有良好
- Web技术的发展速度太快了,如果你不与时俱进,就会被淘汰。因此,为了应对即将到来的HTML5,本文总结了22个HTML5的初级技巧,希望能对
- 原理就是先声明常量,包括列数,行数,各列的属性,然后在程序的其它过程用这些常量来控制Cells。非常方便,便于修改和移植! 以下为窗体整体代
- 在Flash中使用ASP需要的条件:1。你的ISP的server必须支持Active Server Pages并且最好支持数据库2。你应该要
- 首先声明,在这组里我是个绝对的菜鸟。再次声明,小爝这个菜鸟在“网页设计”这个圈里混了快1年了。 摘要:我知道我有多少底,所以我在总结我的成长
- DBA_2PC_PENDING Oracle会自动处理分布事务,保证分布事务的一致性,所有站点全部提交或全部回滚。一般情况下,处理过程在很短
- 在MySQL中,一个字符串中,如果某个序列具有特殊的含义,则这个序列以反斜线符号(‘\’)开头,称为转义字符。常见的转义字符:\0 ASCI
- 在网上有很多相关主题的讨论,但是一般都是用Iframe和XMLHTTP来实现。Iframe的实现可能是最常看到的。很多论坛和聊天室的无刷新效