服务器之家

服务器之家 > 正文

小系统单据自动生成存储过程

时间:2019-11-27 16:32     来源/作者:MSSQL教程网

代码如下:


create table [order] 

code varchar(50), 
createtime datetime 


--应用 usp_ordernumbergenerate(@prefix = 'PRC100701') 
--传入前缀 大类+单据编码+6位日期 
--获取当日该类单据最大流水号(需按日归零) 
--此处判断有两种方法:一种是根据传入6位日期判断;另一种根据单据创建日期字段(前提:表有创建时间字段) 
create procedure usp_OrderNumberGenerate 
@prefix varchar(50) 
as 
declare @count int 
declare @midcode varchar(3) 
declare @Digits int = 3 
declare @orderNumber varchar(50) 

select @count = COUNT(*) from [order] where DATEDIFF(day, createtime, GETDATE()) = 0 
if(@count = 0) --当日无单据情况 流水号为001 
--print @count 
select @orderNumber = @prefix + '001' 
else --当日有单据情况 最大流水号+1 
select @midcode = max(substring(midcode, 10, 3)) + 1 
from [order] 
where DATEDIFF(day, createtime, GETDATE()) = 0 

select @orderNumber =@prefix + RIGHT(REPLICATE('0', @Digits) 
+ CAST(@midcode as VARCHAR), @Digits) 

print @ordernumber

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部