存储过程生成订单号

------------------------------------
--用途:增加一条记录
--项目名称:CodematicDemo
--说明:
--时间:2010-3-17 10:03:47
------------------------------------
alter PROCEDURE [dbo].[UP_soft_UserInfo_ADD]
@id int output,
@username varchar(50),
@useradd varchar(100),
@useremail varchar(50),
@userQQ varchar(50),
@userphone varchar(50),
@userPostalcode varchar(50),
@useMechineCode varchar(50),
@useRegisterCode varchar(50),
@payDate datetime,
@sendDate datetime,
@softtypeid int,
@paytypeid int,
@registerTypeid int,
@sendtypeid int,
@otherinfo varchar(200),
@paymoney money,
@IsRegister bit

 AS
set   nocount   on  
declare @OrderNumber varchar(100)
declare   @date   varchar(8)   --日期的字符型  
declare   @maxnum   varchar(4)   --后4位数字的字符型  
declare   @max   numeric(12)   --全部numid数字型  
declare   @datenow   varchar(8)   --当前日期的字符型  

  begin
   set   @datenow   =   convert(varchar(8),getdate(),112)  
               
              if   (select   count(id)   from   soft_UserInfo)   =   0  
                  begin  
                      set   @OrderNumber   =   convert(numeric(12),@datenow+'0001')  
                     
                  end  
             
              if   (select   count(id)   from   soft_UserInfo)   >   0  
                  begin  
                          select   @max   =   max(numid)   from   t_001  
                          set   @date   =   left(convert(varchar(12),@max),8)  
                          set   @maxnum   =   right(convert(varchar(12),@max),4)  
                       
                          if   convert(numeric(8),@datenow)   <=   convert(numeric(8),@date)  
                                begin  
                                      set   @OrderNumber   =   convert(numeric(12),@date+@maxnum)   +   1  
                                end  
                       
                          if   convert(numeric(8),@datenow)   >   convert(numeric(8),@date)  
                                begin  
                                      set   @OrderNumber   =   convert(numeric(12),@datenow+'0001')  
                                end  
                  end  

      
 INSERT INTO [soft_UserInfo](
 [OrderNumber],[username],[useradd],[useremail],[userQQ],[userphone],[userPostalcode],[useMechineCode],[useRegisterCode],[payDate],[sendDate],[softtypeid],[paytypeid],[registerTypeid],[sendtypeid],[otherinfo],[paymoney],[IsRegister]
 )VALUES(
 @OrderNumber,@username,@useradd,@useremail,@userQQ,@userphone,@userPostalcode,@useMechineCode,@useRegisterCode,@payDate,@sendDate,@softtypeid,@paytypeid,@registerTypeid,@sendtypeid,@otherinfo,@paymoney,@IsRegister
 )
 SET @id = @@IDENTITY

  set   nocount   off  
end

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值