首页 新闻 会员 周边

如何在数据库中让商品的编号按照g000001这样累加呢?

0
[已解决问题] 解决于 2010-08-15 12:17

如何在数据库中让商品的编号按照g000001这样累加呢?麻烦各位高手指点下。谢谢了。比如:

第一个商品是:g00001

第二个商品是:g00002

…………

也许你会说这样不好,但是没办法,这样是为你有些地方的好。

在路上狂奔的蜗牛的主页 在路上狂奔的蜗牛 | 初学一级 | 园豆:50
提问于:2010-08-15 10:56
< >
分享
最佳答案
0

在程序里面可以做处理, 先截取前缀,再将后面的数字加一,再和前缀连在一起。

在数据库里面可以创建个函数:

Create FUNCTION [dbo].[GetMaxCode]
(
@Prefix nvarchar(1)
)
RETURNS nvarchar(6)
AS
BEGIN
 -- Declare the return variable here
 DECLARE @Code nvarchar(6)
 DECLARE @currentValue int
 
 select @Code=Max(Code) from t_demo
 
 if(@Code='' or @Code is null)
  Set @Code=@Prefix+'00001'
  
 set @Code=substring(@Code,2,5)
 set @currentValue=cast(@code as int)
 SET @currentValue= @currentValue+1
 
 if(@currentValue<10)
  set @Code=@Prefix+'0000'
 else
  set @Code=@Prefix+'000'
  
 set @Code=@Code+cast(@currentValue as nvarchar(5))
 
 RETURN @Code

END

 

调用 :select dbo.GetMaxCode('p')

HUHU慈悲 | 大侠五级 |园豆:9973 | 2010-08-15 12:16
明白了,谢谢了。
在路上狂奔的蜗牛 | 园豆:50 (初学一级) | 2010-08-15 12:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册