SqlServer获取数据表字段自定义编号
存储过程如下所示:
/******************************************** 获取表某字段的自定义编号* 调用方法: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获取数据表字段自定义编号相关推荐
- Salesforce 中获取数据表字段的 picklist 的值
Salesforce 中获取数据表字段的 picklist 的值 cmStatus = new List<String>();Map<String, Schema.DescribeF ...
- DatabaseMetaData 获取数据表字段注释内容
使用DataBaseMetaData获取mysql表字段注释 DatabaseMetaData metaData = connection.getMetaData(); ResultSet rs = ...
- 用友财务软件主要数据表字段含义
用友财务软件主要数据表字段含义 /*rdrecords : 收发记录子表 AutoID : auto ID 自动编号 ...
- 132_Power BI之建模必备要素Power Query之数据表字段名称管理
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 近段时间比较忙,也没有看到很好的DAX素材,很久没有更新文章了,刚好有时间就来凑个热闹. 今天主题是Power ...
- mysql 设置 0、1 用什么数据类型_MySQL数据库教程-数据表字段约束
MySQL数据库教程-数据表字段约束 为保证数据库中存储数据的规范化,一般需要在定义字段时进行字段规范与约束的定义.保证在进行数据录入时,数据库能够通过这个规则.约束.规范检查所录入的数据,防止错误及 ...
- tp5 mysql缓存_tp5.0 SHOW COLUMNS FROM 生成数据表字段缓存
TP5.0 生成数据表字段缓存 =控制台执行以下命令= 1.生成指定数据库的所有表字段缓存 php think optimize:schema --db databaseName 2.生成指定数据表的 ...
- ArcGIS属性表字段自动编号
2018.11.8学习记录 ArcGIS属性表字段自动编号 属性表字段--字段计算器 Parser: PythonExpression: accumulate(!FieldA!)Code Block: ...
- laravel 同数据表字段比较查询和状态不正规排序
今天写群组推荐接口,要求未满的群 ( 群最大人数字段maxusers, 群人数字段affiliations_count 都在群组表中),官方,热门(普通群0 ,官方1,热门2 ) 排序的群 同表字段比 ...
- 获取Access表字段类型的自定义函数
目录 1.函数(一) 1.1 功能说明及代码 1.2 自定义函数调用实例 2函数(二) 3 函数(三) 3.1 功能说明及代码 3.2 自定义函数调用 4 ADO数据类型在Access.SQL Ser ...
- asp.net访问sqlserver获取数据、IsPostBack属性和VS可视化调试的概念
新建一个asp.net网站:sqlserver中有如下一张表: 新建一个页面, demo1.aspx:在页面上添加一个GridView控件: demo1.aspx.cs代码: using System ...
最新文章
- 减少HQL 的MAP数
- python3写unicode编码到文件
- 【Java】IO Stream详细解读
- javascript下載csv檔案
- Oracle逻辑空间管理
- mysql如何做计划任务_简单的mysql 过程计划任务
- mysql innodb 死锁_mysql innodb 死锁分析
- 【Python】Matplotlib绘制百变椭圆
- 深入理解JavaScript系列:《你真懂JavaScript吗?》答案详解
- mysql 内部安全性_MySQL数据库的内部以及外部安全性简介
- lvs基本概念、调度方法、ipvsadm命令及nat模型示例
- 基于PHP的网上书店系统(前后台)
- 转行软件测试,简历怎么包装成1年工作经验的测试工程师
- css 动画 (transition animation)
- 大数据领域一些值得读的论文(不断更新
- 【YOLOv5实战2】基于YOLOv5的交通标志识别系统-自定义数据集
- win10忘记密码初始化电脑
- 矩形选框工具 部分快捷键练习
- sklearn常用工具
- Docker下运行两个ClickHouse容器后 ReplicatedMergeTree引擎借助Zookeeper将数据无法同步的解决方案,提示错误为“DNS_ERROR”
热门文章
- 设计模式(9)----- 创建型模式-----工厂设计模式(抽象工厂模式)
- 1.4. network
- 1996: [Hnoi2010]chorus 合唱队
- 在 Windows Azure 虚拟机上运行 SQL Server 工作负荷的十大注意事项
- 2.软件架构设计:大型网站技术架构与业务架构融合之道 --- 架构的道与术
- 17.看板方法---瓶颈和非即时可用资源
- 6.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 的典型应用场景
- 18.海量分布式存储系统 Doris 的高可用架构设计分析
- 73. 文件上传函数封装
- 13. Magento 后台top栏开发(二)