• 自动编号函数


    根据表中已经存在的编号产生一个新编号,只需要传入标识,表,字段。

    可复用。

    /*******************************************
    **过程名:[[Proc_CreateCode]]
    **输入参数:
    **输出:
    **功能描述:根据开头标识在表中获取最新编号
    **作者:
    **更新:修改人xxx;修改日期xxxx
    **版本:
    ********************************************/
    create Procedure [dbo].[Proc_CreateCode]
     @head Varchar(5),    --开头标识
     @table Varchar(50),  --表名
     @Key Varchar(20),    --编号字段
     @Code varchar(20) Out--新编号
     As
     Begin
        Declare @sql Nvarchar(2000)=''
        --拼接查询最大ID语句
        Set @sql='Select @MaxID=Max('+@Key+') From '+@table+' where left('+@Key+',2)='''+@head+''' '
        Exec Sp_executesql @sql,N'@MaxID varchar(20) out',@Code Out
        print @sql
        --当前日期
        Declare @NowDate Varchar(8)
        Select @NowDate=CONVERT(Varchar,GETDATE(),112)
        If(@Code Is Null Or @Code='')
        Begin
            Set @Code = @head+@NowDate+'001'
        End
        Else
        Begin
            IF(CHARINDEX(@NowDate,@Code)=0)
            Begin
                Set @Code = @head+@NowDate+'001'
            End
            Else
            Begin
                --获取最大ID的编号部分
                Declare @num int=0
                Set @num=right(@Code,3)+1
                --生成新ID
                Set @Code = @head+@NowDate+Substring('000',1,3-len(@num))+Convert(Varchar,@num)
            End
        End    
     End
    **********初心不改,方得始终。
  • 相关阅读:
    套用JQuery EasyUI列表显示数据、分页、查询
    Linux 进程间通信 信号
    Linux socket编程
    Linux字符设备驱动注册流程
    Linux杂项设备与字符设备
    Linux并发控制解决竞态的一种操作>原子操作
    Linux 进程间通信 管道通信
    Linux串口编程
    博客开通啦!
    实现Windows Phone 8多媒体:视频
  • 原文地址:https://www.cnblogs.com/salv/p/9957705.html
Copyright © 2020-2023  润新知