zoukankan      html  css  js  c++  java
  • 小系统单据自动生成存储过程

    代码
    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, 103)) + 1
            
    from    [order]
            
    where   DATEDIFF(day, createtime, GETDATE()) = 0
            
            
    select    @orderNumber =@prefix + RIGHT(REPLICATE('0'@Digits)
                                         
    + CAST(@midcode as VARCHAR), @Digits
            
            
    print @ordernumber

    ______________________________________
    生活,要用圣人的胸怀面对,用科学的方法支配,
            用皇帝的御膳养胃,用清洁的空气洗肺,
              用小猪的感觉去睡,用太阳的热情灌水。
    ______________________________________

  • 相关阅读:
    线程、同步
    异常、线程
    Map
    List、Set
    Collection、泛型
    Object类、常用API
    h5-上传图片预览
    js 获取get参数
    《转》完美解决微信video视频隐藏控件和内联播放问题
    写入文件(覆盖文件的内容)
  • 原文地址:https://www.cnblogs.com/jieky/p/1769357.html
Copyright © 2011-2022 走看看