思路:
用一个表t来存储保留号码,用一个存储过程来实现用户注册
create procedure sp_1 @id int output
as
...其中的@id就是用来返回新注册的id取用户表中最大id加1,若为保留号码,则再加1直到不是保留号码为止(你的保留号码应该不多),然后插入注册数据,并返回@id
用一个表t来存储保留号码,用一个存储过程来实现用户注册
create procedure sp_1 @id int output
as
...其中的@id就是用来返回新注册的id取用户表中最大id加1,若为保留号码,则再加1直到不是保留号码为止(你的保留号码应该不多),然后插入注册数据,并返回@id
这个应该好处理吧。2.系统应该能够设定某些范围的字符为保留号码,不参加编号,如可以设定"5555","55555"这样的号码不参加编码;
设一个保留号码表就行了。3.以后申请的号码可以顺序增长,比如超过“9999”后,应该为“10000”;
如果用SQL的话,建议先建一个顺序增长的全部号码(用一个表保存所有这些号码),在申请时从未选中的号码中随机挑一个号码返回就行了。4。号码全是“数字"字符;
这个简单了。
表二: 保留号码表 (号码,其它字段)选号:
select top 1 * 号码 from 表一 a
where 是否被选中='否' and not exists(select 1 from 表二 where 号码=a.号码)
order by newid()