关于最大流水号的问题

udnova 2005-09-30 03:11:47
Trade表中的TradeId是流水号,现在要求每插入一笔记录,都取得一个流水号最大值
create table Trade(TradeId int identity(1,1),time datetime)
我看到别人是这么写的
declare @temp int
set @temp=0
begin tran
insert into Trade values(getdate())
select @temp=scope_identity()
commit tran
select @temp
我搞不懂为什么这里要加个显示事务,一定要加吗?
...全文
230 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ReViSion 2005-09-30
  • 打赏
  • 举报
回复
感觉没有不一定要加
理由同楼上
clop 2005-09-30
  • 打赏
  • 举报
回复
我觉得这不一定要加的

SCOPE_IDENTITY() 和 @@identity 都只针对当前会话,没有并发问题
udnova 2005-09-30
  • 打赏
  • 举报
回复
如果不加事务,并发处理好象也并不回影响
vivianfdlpw 2005-09-30
  • 打赏
  • 举报
回复
考虑并发处理

22,209

社区成员

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

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