执行select后spid改变

joeandlily 2009-08-12 12:24:49
Insert时数据库时发生死锁,请大家帮忙。

前台:vb.net,使用TransactionScope事务。
操作步骤:
(1)取得字段A的最大值,加一
(2)取得字段B的最大值,加一
(3)Insert操作

后台:sqlserver2005

使用sql server profiler察看,发现在执行完上面的步骤(1)后,
spid发生改变。具体情况如下:

操作步骤: SPID
(1)取得字段A的最大值,加一 56
(2)取得字段B的最大值,加一 55
(3)Insert操作 55
为什么SPID会发生变化呢?同一个事务中,SPID也会改变吗?
请指教。
...全文
94 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
joeandlily 2009-08-14
  • 打赏
  • 举报
回复
明白人呢?
华夏小卒 2009-08-12
  • 打赏
  • 举报
回复
2个字段吧,赋值2次,取后面的?
soft_wsx 2009-08-12
  • 打赏
  • 举报
回复
关注
SQL77 2009-08-12
  • 打赏
  • 举报
回复
学习,
soft_wsx 2009-08-12
  • 打赏
  • 举报
回复
VB.NET不懂,帮顶
joeandlily 2009-08-12
  • 打赏
  • 举报
回复
补充:没有使用存储过程,上面所有的三个操作步骤都是用DataSet执行sql实现的。
joeandlily 2009-08-12
  • 打赏
  • 举报
回复
A字段是主键,B字段不是主键。
总体上来说,就是录入画面上的数据。
步骤(1):生成新的主键值,即当前最大值+1
步骤(2):生成新的B字段值,即当前最大值+1
步骤(3):写入到数据库

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧