SQLServer并行执行SQL语句问题

yangsheep9989 2005-10-19 10:03:50
当采用数据库引擎如ADO/ADO.NET连接SQL服务器
现有三个连接同时执行下列SQL语句:

INSERT INTO jobs (job_desc,min_lvl,max_lvl)VALUES ('Accountant',12,125)
;SELECT @@IDENTITY AS 'Identity'

这是SQL2000帮助中的范例,用于获得插入记录后的自增编号。

单条执行肯定不会有误,但如果三条同时执行,各条获得的编号是否一定是其自己对应的编号??

其中关键问题在于:SQL服务器在执行类似的组合SQL语句时是把一个连接的所有语句执行完再执行下一个连接?还是执行完一个部分再执行另外一条的一部分,也就是按操作系统的时间片轮转的调度算法并行执行多个连接呢?请高手指导,有效答复必有高分,谢谢。
...全文
137 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yangsheep9989 2005-10-19
我知道执行insert时会锁定,但后面的一条select呢?会不会执行第一条insert后执行下一条insert呢?
回复
churchatp1 2005-10-19
各条获得的编号应该是其自己对应的编号
你执行一条的时候就会把记录锁住
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2005-10-19 10:03
社区公告
暂无公告