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

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

  • 相关阅读:
    Http协议状态码总结
    ES6中的let和const
    Swiper-轮播图
    HTML5动画API—— requestAnimationFrame
    神奇的 conic-gradient 圆锥渐变
    最流行的5个前端框架对比
    jQuery适用技巧笔记整合
    PHP中的面向对象OOP中的魔术方法
    居中
    (function($){})(jQuery)
  • 原文地址:https://www.cnblogs.com/jieky/p/1769357.html
Copyright © 2011-2022 走看看