生成特定序列號存儲過程

 create table SeqBASIC_SEQ(
 
      -- ID列为自增列
       SeqID int identity(1,1) primary key,
      -- Sequence值
       SeqVal varchar(1)
 )
--DROP table SeqBASIC_SEQ
 create procedure P_GetNewSeqVal
 @CUSTOMER_ID VARCHAR(10),
 @ReturnResult VARCHAR(25) output
 as
 begin
       declare @IndexValue int
       declare @NewSeqValue varchar(25)
       set NOCOUNT ON
       insert into SeqBASIC_SEQ (SeqVal) values ('a')
       set @IndexValue =CAST(scope_identity() AS varchar(5)) 
  set @NewSeqValue=  @CUSTOMER_ID+'-'+ Convert(varchar(8),Getdate(),112) +'-'+ right('00000'+CAST(@IndexValue AS varchar(5)),5)
       delete from SeqBASIC_SEQ WITH (READPAST)
 SET @ReturnResult= @NewSeqValue
end
 
 /*
 *傳入客戶別
 *返回序列字串: 客戶別-日期-5位流水碼
 */
 declare @result varchar(25)
 Exec  P_GetNewSeqVal '10001', @result output
 Print @result
 

 --drop proc P_GetNewSeqVal
 
 /*
 *重置流水號
 */
 create procedure P_Resetting
 as
 begin
  --刪除表
  DROP table SeqBASIC_SEQ
  --重新創建SeqBASIC_SEQ表
  create table SeqBASIC_SEQ(
  -- ID列为自增列
     SeqID int identity(1,1) primary key,
  -- Sequence值
     SeqVal varchar(1)
  )
 end
 
 
 /*
 *調用重置流水碼存儲過程
 */
  exec P_Resetting

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值