关于自动补号的问题。

silverysky 2003-11-13 07:23:25
字段ID,XM,XB
记录2004C0001,JACK,MALE
2004C0002,MARY,FEMALE
2004C0003,TOM,MALE
2004C0004,HOR,MALE
2004C0005,JANE,FEMALE
如果才能做到自动补号??
删除2004C0002后再添加记录能补充2004C0002
...全文
94 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gmlxf 2003-11-13
  • 打赏
  • 举报
回复
--得到最小去缺号

select top 1 '2004C'+right(('000'+cast((right(id,4)+1) as varchar)),4) from tt where right(id,4) not in (select right(id,4)-1 from tt)

insert t select
(
select top 1 '2004C'+right(('000'+cast((right(id,4)+1) as varchar)),4) from tt where right(id,4) not in (select right(id,4)-1 from tt)
),'a','b'
silverysky 2003-11-13
  • 打赏
  • 举报
回复
能具体一点吗?
teaism 2003-11-13
  • 打赏
  • 举报
回复
补号不难,但数据量大的情况下,查找很慢。
你最好用一个号码表。
每删一个号,用触发器把删的号插入号码表内。留下次用。

34,597

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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