首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请问有关sql server并发控制和delphi编程的有关问题

2012-12-31 
请教有关sql server并发控制和delphi编程的问题最近因为用delphi编数据库程序(多用户),看了sql server2005

请教有关sql server并发控制和delphi编程的问题
最近因为用delphi编数据库程序(多用户),看了sql server2005的书,重点看了sql事务中有关锁和并发控制的部分,但还是有疑问。比如我从编号表(只有一个字段,用于产生编号,保证编号唯一性)中取编号时,在写客户机代码时否只要使用sql事务来控制并发部可以了,
(begin tran
update idtable set id=id+1
select id from idtable
commit tran) 
还是需要在服务器上写一个专门用来发编号的程序。
[解决办法]
建议用存储过程来给编号递增,且把编号目前的位置计入表中
[解决办法]
如果没有特殊要求,还是用uuid吧,现在的数据库性能都不错,不会有什么大影响。
[解决办法]
支持用存储过程来处理多用户并发申请。
[解决办法]

引用:
再请教大家,如果将编号定为标识,让它自动加1,比如表中有编号、标题、正文、等字段,在事务中先插入记录,再读编号,这样是不是就能既控制并发,又读到唯一编号?


这样是最简单

如果你的用户没达到每秒同时几个操作,你楼顶的sql也马马虎虎了
最佳的做法是:
update tballid
set fid=fid+1
output fid,fname --此语法sql2005才开始支持
where fname='某个业务表'

热点排行