关于自动生成编号的问题!

lalalulu 2004-01-05 09:44:10
现在我想由程序自动来生成编号,生成后要求是前二位为用户可以修改的英文,后6位为递增的数字,但用户可以随时修改这个数字的起始量。比如本来是AW100000,AW100001..用户可以修改成BW100200,修改后以前编号我必需以BW100201,BW100202...这样自动编号下去,请问这要如何解决?
...全文
57 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hthunter 2004-01-05
  • 打赏
  • 举报
回复
to smilelhh(blue),你没有看清楚楼主的问题,起始编号的字母和数字都是由用户定义的,自增编号显然不能满足数字部分的要求
luckyboy97 2004-01-05
  • 打赏
  • 举报
回复
建一个表,两个字段(前缀,序号),一条记录
写个过程或函数让它自动产生一个编号,
每产生一个编号就给序号加1
smilelhh 2004-01-05
  • 打赏
  • 举报
回复
另取一个自增列id,
然后每次取表中最大的id行你的编号字段,可以得到是AW,还是BW,
然后后面6位加1就是了.
hthunter 2004-01-05
  • 打赏
  • 举报
回复
declare @MaxNum varchar(8)
set @MaxNum = IsNull((select max(your_number) from your_table), 'AW000000')
select (Left(@MaxNum, 2) + Right('000000' + convert(varchar(6), convert(int, Right(@MaxNum, 6)) + 1), 6)) as NewNumber
jone999 2004-01-05
  • 打赏
  • 举报
回复
好像主要是保存好上次的编号,,具体实现还是要你自己调试:)
yunuo2010000 2004-01-05
  • 打赏
  • 举报
回复
学习
vsice 2004-01-05
  • 打赏
  • 举报
回复
建一个表,一个字段,一条记录
字段值就放这个AW100000,写个存储过程名函数让它自动产生一个编号,
每产生一个编号就给它加一个1,随便怎么改都没问题.
soundbug 2004-01-05
  • 打赏
  • 举报
回复
用一个变量记录当前修改后的后六位数,下次从这个基础上自增
zhuangjunx 2004-01-05
  • 打赏
  • 举报
回复
先把这转换在字符串,经用户修改后再把数字转换成数值型,然后在递增就行了。

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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