zoukankan      html  css  js  c++  java
  • 生成单据编号的存储过程

    USE [crm2]
    GO
    /****** Object: StoredProcedure [dbo].[GetBillsID] Script Date: 09/22/2018 15:13:35 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- Batch submitted through debugger: SQLQuery1.sql|0|0|C:UsersadminAppDataLocalTemp~vsC414.sql
    ALTER PROCEDURE [dbo].[GetBillsID]
    (@Billsmode INT=0,
    @BillsType VARCHAR(30), 
    @DateType varchar(30),
    @GetId int
    )
    
    AS
    BEGIN
    -- routine body goes here, e.g.
    -- SELECT 'Navicat for SQL Server'
    if (@billsmode=0) 
    BEGIN
    if (exists(select ( BillsID.DateCount) from BillsID where BillsType=@billsType and DateType=@DateType)) 
    BEGIN
    select @GetId=BillsID.DateCount from BillsID where BillsType=@billsType and DateType=@DateType
    set @GetId=@getid+1
    select @BillsType+'-'+CONVERT(varchar(100),@DateType ,23)+'-'+replace(right(str(@GetId),4),' ','0')
    update dbo.BillsID with (TABLOCKX) set DateCount=@Getid where (BillsType=@billsType and DateType=@DateType)
    end 
    else
    begin
    set @GetId=@getid+1
    select @BillsType+'-'+CONVERT(varchar(100),@DateType ,23)+'-'+replace(right(str(@GetId),4),' ','0')
    INSERT INTO dbo.BillsID with (TABLOCKX) (BillsType,DateType,DateCount) VALUES (@BillsType,@DateType,@GetId)
    end    
    END 
    if (@billsmode=1) 
    BEGIN
    if (exists(select ( BillsID.MonthCount) from BillsID where BillsType=@billsType and MonthType=left(convert(varchar,@DateType,21),7)))
    BEGIN
    select @GetId=BillsID.MonthCount from BillsID where BillsType=@billsType and MonthType=left(convert(varchar,@DateType,21),7)
    set @GetId=@getid+1
    select @BillsType+'-'+left(convert(varchar,@DateType,21),7)+'-'+replace(right(str(@GetId),6),' ','0')
    update dbo.BillsID with (TABLOCKX) set MonthCount=@Getid where (BillsType=@billsType and MonthType=left(convert(varchar,@DateType,21),7))
    end 
    else
    begin
    set @GetId=@getid+1
    select @BillsType+'-'+left(convert(varchar,@DateType,21),7)+'-'+replace(right(str(@GetId),6),' ','0')
    INSERT INTO dbo.BillsID with (TABLOCKX) (BillsType,MonthType,MonthCount) VALUES (@BillsType,left(convert(varchar,@DateType,21),7),@GetId)
    end
    end
    
    if (@billsmode=2) 
    BEGIN
    if (exists(select ( BillsID.YearCount) from BillsID where BillsType=@billsType and YearType=left(convert(varchar,@DateType,21),4)))
    BEGIN
    select @GetId=BillsID.YearCount from BillsID where BillsType=@billsType and YearType=left(convert(varchar,@DateType,21),4)
    set @GetId=@getid+1
    select @BillsType+'-'+left(convert(varchar,@DateType,21),4)+'-'+replace(right(str(@GetId),8),' ','0')
    update dbo.BillsID with (TABLOCKX) set YearCount=@Getid where (BillsType=@billsType and YearType=left(convert(varchar,@DateType,21),4))
    end 
    else
    begin
    set @GetId=@getid+1
    select @BillsType+'-'+left(convert(varchar,@DateType,21),4)+'-'+replace(right(str(@GetId),8),' ','0')
    INSERT INTO dbo.BillsID with (TABLOCKX) (BillsType,YearType,YearCount) VALUES (@BillsType,left(convert(varchar,@DateType,21),4),@GetId)
    end
    end
    END
  • 相关阅读:
    217. 存在重复元素
    189. 旋转数组
    122. 买卖股票的最佳时机 II
    26. 删除排序数组中的重复项
    [剑指Offer]二进制中1的个数
    [Unity]Unity更改黑色主题(个人版)
    [Unity]限制两个物体之间的距离
    [Untiy]贪吃蛇大作战(五)——游戏主界面
    sql server 函数详解(3)数据类型转换函数和文本图像函数
    sql server 函数详解(2)数学函数
  • 原文地址:https://www.cnblogs.com/Thenext/p/9690618.html
Copyright © 2011-2022 走看看