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