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
    复制代码
  • 相关阅读:
    css和js实现硬件加速渲染自定义滚动条
    入驻博客园
    原生JS实现动态折线图
    纯JS自定义网页滚动条
    Unity实现代码控制音频播放
    MVC实现修改数据
    JS实现将二维数组生成到页面上
    JS实现页面计时
    多中方式,实现斐波那契数列
    算法题
  • 原文地址:https://www.cnblogs.com/westsoft/p/15426746.html
Copyright © 2011-2022 走看看