读书人

看一上存储过程

发布时间: 2012-07-28 12:25:13 作者: rapoo

看一下存储过程~

SQL code
CREATE TABLE test(    id int NOT NULL PRIMARY KEY identity(1,1),    OrderNumber nvarchar(50) )insert into test values('2012HJLS1000000001')if(exists(select * from sysobjects where name='GetCode' ))drop proc GetCodegocreate proc GetCode    @shuliang intas    declare @i int    declare @OrderNumber nvarchar(50)    declare @bianliang nvarchar(50)    set @i = 0     while @i < @shuliang     begin      select top 1 @OrderNumber=OrderNumber from test order by id desc      set @bianliang=right(cast(right(@OrderNumber,10)+0000000001 as varchar),10)      insert into test values('2012HJLS'+@bianliang)      set @i = @i + 1     end goexec GetCode 10


问题描述:right(cast(right('2012HJLS1000000001',10)+0000000001 as varchar),10)
这样执行就会生成一样 1000000002 这样的一个卡号~现在我不是想从1000000001开始 而是想从000000001开始,请问怎么实现呢??

[解决办法]
set @bianliang=right('0000000000'+cast(right(@OrderNumber,10)+1 as varchar(20)),10)

读书人网 >SQL Server

热点推荐