孤独750 发表于 2018-10-17 10:59:51

SQL Server 自动生成订单号

  CREATE proc GetOrderNo
  @OrderNo varchar(14) output--声明输出变量
  as
  BEGIN
  --变量
  DECLARE @result varchar(14),@id varchar(6),@lasttime smalldatetime
  --一天清空一次表
  set @lasttime=(select top 1 CreateAt from B_Identity order by CreateAt desc)
  if(DateDiff(day,@lasttime, GETDATE())>0)
  begin
  truncate table B_Identity--初始化表是自增量归零重新开始
  end
  --日期字符串 生成前8位
  set @result=CONVERT(varchar(100), GETDATE(), 112)
  insert B_Identity(CreateAt) values(getdate())
  --id 补零生成后6位
  set @id=SCOPE_IDENTITY();
  set @id= right('000000'+@id,6)
  set @OrderNo=(@result+@id)
  end
  --调用
  declare @orderno varchar(14)
  exec GetOrderNo @orderno output
  select @orderno

页: [1]
查看完整版本: SQL Server 自动生成订单号