zoukankan      html  css  js  c++  java
  • 自动编号函数

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

    可复用。

    /*******************************************
    **过程名:[[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
    **********初心不改,方得始终。
  • 相关阅读:
    Eclipse添加注释简介
    git config配置文件
    ndk开发教程以及问题解决方案
    PATH路径出错导致任何命令都找不到解决方法
    git详细教程
    ssh相关操作
    ORM SQLAlchemy 表于表的关系
    SQLAlchemy 使用
    ORM SQLAlchemy 简介
    LUA基础
  • 原文地址:https://www.cnblogs.com/salv/p/9957705.html
Copyright © 2011-2022 走看看