复制代码 代码如下:
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

更多相关文章

  1. android屏幕适配,自动生成不同的dimens.xml详解
  2. Android热补丁动态修复技术(完结篇):自动生成打包带签名的补丁,重
  3. Android:CourseTableLayout — 好用的Android自动生成课程表的自
  4. android studio 程序员有福了—从layout自动生成viewholder类
  5. Android热补丁动态修复技术(完结篇):自动生成打包带签名的补丁,重
  6. android的ant脚本自动生成模板
  7. Android(安卓)Studio 自动生成注释(作者、日期、联系方式、描述)
  8. Android中R.java没有自动生成解决方案
  9. Android(安卓)TextView中的文字自动生成链接

随机推荐

  1. 芋道 Spring Boot Redis 入门(下)
  2. 作为一名JS开发人员,是什么使我夜不能寐[
  3. 芋道 Spring Boot JPA 入门(二)之基于方法
  4. MySQL 8 OCP(1Z0-908)认证考试题库原题(第
  5. 轻轻一扫,立刻扣款,付款码背后的原理你不想
  6. 芋道 Spring Boot JPA 入门(三)之基于注解
  7. 现代生活已经离不开的银行卡支付,背后原理
  8. 链路追踪 SkyWalking 6.x 源码分析 ——
  9. TS与JS中的Getters和Setter究竟有什么用[
  10. 芋道 Spring Boot JdbcTemplate 入门