求教sql语句中实现连续加1?

仓库管理,编号Nbr char类型,添加一条记录,实现自动加1,查询最大的编号,然后赋给下一次的将要添加的记录
例如:select max(Nbr) from Store
,不知道这个对不对,请高手指点!
注意:Nbr 为字符类型,需要转化为整形,实现加1,然后再把整形转化为字符类型,
谢谢高手了,急!!
我的字符串增加就是从“1”开始,一直增加
请大家给个详细的解答,我会给大家加分的!谢谢高手们!

第1个回答  2008-01-03
create sequence SEQ_TEMP
minvalue 1
maxvalue 10000000
start with 1
increment by 1
cache 20;
创建一个序列,然后你的插入语句的编号字段使用这个序列拼接起来。
不知道你这个编号是什么样格式的。比如你要实现编码是 A00001这样的增长方式就是
'A'||LPAD(SEQ_TEMP.NEXTVALUE,5,'0')就可以实现自动增长了。本回答被提问者采纳
第2个回答  2008-01-03
写存储过程
自动加一大概就好像下面那样
你参考一下
Select @LngCode=100000 + Cast(Right(@MaxNo,5) As Int) +1
Select @MaxNo=Left(@MaxNo,2) +Right(Cast(@LngCode As nVarchar),5)
第3个回答  2008-01-03
你这样的问题完全可以使用(CREATE SEQUENCE )来解决这个问题的。我想这种解决方案正好适合你的要求。
相似回答