存储过程如下所示:


/******************************************** 获取表某字段的自定义编号*     调用方法:Exec p_GetCustomCode 'BAS_PriceArt','ArtCode','RSK',4,0,''*     返回结果:RSK0001
*******************************************/CREATE PROC [dbo].[p_GetCustomCode]@TableName VARCHAR(50),    --表名称@ColumnName VARCHAR(20),   --列名称@Where VARCHAR(100),       --查询条件,不需要加WHERE关键字,如:Code='100'@Prefix VARCHAR(20),       --前缀@NoLength INT=4,           --数字长度@IsEqualPrefix INT,        --是否匹配为某前缀的数据@Code VARCHAR(50) OUTPUT   --返回编号
AS
BEGINDECLARE@Max Int,@ZeroStr Varchar(50);Set @Code='';Set @Max=0;Set @ZeroStr='';--设置数字部分的字符串IF(@NoLength>20)BeginSet @NoLength=20;EndELSE IF(@NoLength<1)BEGINSet @NoLength=4;ENDDECLARE @i INT;SET @i=1;WHILE @i<=@NoLengthBEGINSET @ZeroStr=@ZeroStr+'0';SET @i=@i+1;END --动态Sql查询语句:查询某表某列的最大值(不包含字段前缀)DECLARE @Sql NVARCHAR(300);SET @Sql=' Select @Max=Max(Cast(Right('+@ColumnName+','+CAST(@NoLength AS VARCHAR)+')As Int)) From '+@TableName;IF(LEN(@Where)>0)BEGINSET @Sql=@Sql+' WHERE '+@Where;ENDIF(@IsEqualPrefix=1)BEGINIF(LEN(@Where)>0)BEGINSET @Sql=@Sql+' WHERE '+@Where+' AND Left('+@ColumnName+','+CAST(LEN(@Prefix) AS VARCHAR)+')='''+@Prefix+''' ;';ENDELSEBEGINSET @Sql=@Sql+' WHERE Left('+@ColumnName+','+CAST(LEN(@Prefix) AS VARCHAR)+')='''+@Prefix+''' ;';ENDEND                  EXEC sp_executesql @Sql,N'@Max Int Output',@Max OUTPUT; IF(ISNULL(@Max,0)>0)BEGINSELECT @Code=@Prefix+RIGHT(@ZeroStr+CAST(@Max + 1 AS VARCHAR),@NoLength);ENDELSEBEGINSELECT @Code = @Prefix +LEFT(@ZeroStr,@NoLength-1)+'1';ENDPRINT @Code;SELECT @Code;
END

SqlServer获取数据表字段自定义编号相关推荐

  1. Salesforce 中获取数据表字段的 picklist 的值

    Salesforce 中获取数据表字段的 picklist 的值 cmStatus = new List<String>();Map<String, Schema.DescribeF ...

  2. DatabaseMetaData 获取数据表字段注释内容

    使用DataBaseMetaData获取mysql表字段注释 DatabaseMetaData metaData = connection.getMetaData(); ResultSet rs =  ...

  3. 用友财务软件主要数据表字段含义

    用友财务软件主要数据表字段含义 /*rdrecords    : 收发记录子表 AutoID         :   auto ID                      自动编号         ...

  4. 132_Power BI之建模必备要素Power Query之数据表字段名称管理

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 近段时间比较忙,也没有看到很好的DAX素材,很久没有更新文章了,刚好有时间就来凑个热闹. 今天主题是Power ...

  5. mysql 设置 0、1 用什么数据类型_MySQL数据库教程-数据表字段约束

    MySQL数据库教程-数据表字段约束 为保证数据库中存储数据的规范化,一般需要在定义字段时进行字段规范与约束的定义.保证在进行数据录入时,数据库能够通过这个规则.约束.规范检查所录入的数据,防止错误及 ...

  6. tp5 mysql缓存_tp5.0 SHOW COLUMNS FROM 生成数据表字段缓存

    TP5.0 生成数据表字段缓存 =控制台执行以下命令= 1.生成指定数据库的所有表字段缓存 php think optimize:schema --db databaseName 2.生成指定数据表的 ...

  7. ArcGIS属性表字段自动编号

    2018.11.8学习记录 ArcGIS属性表字段自动编号 属性表字段--字段计算器 Parser: PythonExpression: accumulate(!FieldA!)Code Block: ...

  8. laravel 同数据表字段比较查询和状态不正规排序

    今天写群组推荐接口,要求未满的群 ( 群最大人数字段maxusers, 群人数字段affiliations_count 都在群组表中),官方,热门(普通群0 ,官方1,热门2 ) 排序的群 同表字段比 ...

  9. 获取Access表字段类型的自定义函数

    目录 1.函数(一) 1.1 功能说明及代码 1.2 自定义函数调用实例 2函数(二) 3 函数(三) 3.1 功能说明及代码 3.2 自定义函数调用 4 ADO数据类型在Access.SQL Ser ...

  10. asp.net访问sqlserver获取数据、IsPostBack属性和VS可视化调试的概念

    新建一个asp.net网站:sqlserver中有如下一张表: 新建一个页面, demo1.aspx:在页面上添加一个GridView控件: demo1.aspx.cs代码: using System ...

最新文章

  1. 减少HQL 的MAP数
  2. python3写unicode编码到文件
  3. 【Java】IO Stream详细解读
  4. javascript下載csv檔案
  5. Oracle逻辑空间管理
  6. mysql如何做计划任务_简单的mysql 过程计划任务
  7. mysql innodb 死锁_mysql innodb 死锁分析
  8. 【Python】Matplotlib绘制百变椭圆
  9. 深入理解JavaScript系列:《你真懂JavaScript吗?》答案详解
  10. mysql 内部安全性_MySQL数据库的内部以及外部安全性简介
  11. lvs基本概念、调度方法、ipvsadm命令及nat模型示例
  12. 基于PHP的网上书店系统(前后台)
  13. 转行软件测试,简历怎么包装成1年工作经验的测试工程师
  14. css 动画 (transition animation)
  15. 大数据领域一些值得读的论文(不断更新
  16. 【YOLOv5实战2】基于YOLOv5的交通标志识别系统-自定义数据集
  17. win10忘记密码初始化电脑
  18. 矩形选框工具 部分快捷键练习
  19. sklearn常用工具
  20. Docker下运行两个ClickHouse容器后 ReplicatedMergeTree引擎借助Zookeeper将数据无法同步的解决方案,提示错误为“DNS_ERROR”

热门文章

  1. 设计模式(9)----- 创建型模式-----工厂设计模式(抽象工厂模式)
  2. 1.4. network
  3. 1996: [Hnoi2010]chorus 合唱队
  4. 在 Windows Azure 虚拟机上运行 SQL Server 工作负荷的十大注意事项
  5. 2.软件架构设计:大型网站技术架构与业务架构融合之道 --- 架构的道与术
  6. 17.看板方法---瓶颈和非即时可用资源
  7. 6.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 的典型应用场景
  8. 18.海量分布式存储系统 Doris 的高可用架构设计分析
  9. 73. 文件上传函数封装
  10. 13. Magento 后台top栏开发(二)