`
ch.net
  • 浏览: 112363 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

sql中自动生成ID编号

    博客分类:
  • SQL
SQL 
阅读更多

表:

create table users
(
 id nvarchar(50),
 name nvarchar(50)
)

存储过程:

alter PROCEDURE  ListIdBuild
(
 @action  INT    = 1,   -- 类型 如1是生成一种编号,2是生成另一种编号
 @lstId   NVARCHAR(50) = NULL OUTPUT
)
AS
DECLARE
 @prefix  NVARCHAR(9),
 @maxId   INT,
 @lstPre  NVARCHAR(2)
BEGIN
 SET @prefix =  CONVERT(nchar(6), GETDATE(), 12)
 IF @action  = 1   --类型
 BEGIN
  SELECT @lstId = MAX([Id]) FROM    users    WHERE SUBSTRING([Id], 2, 2) = LEFT(@prefix, 2)
  SET @lstPre = 'U'
 END
       
 IF @lstId IS NULL SET @lstId = '00000'
 SET @lstId = RIGHT(@lstId, 5)
 SET @maxId = CAST (@lstId AS int) + 1
 SET @lstId = CONVERT(NVARCHAR(12),  @maxId)
 SET @lstId = RIGHT('000000' + @lstId, 5)
 SET @lstId = @lstPre+ @prefix + @lstId
END

 

调用:

declare @id nvarchar(50)
exec ListIdBuild 1,@id out
print @id

得到 以字母 "U"  为前缀后面跟日期的ID号 如:U07101100001

分享到:
评论

相关推荐

    金蝶K3 Wise 用SQL生成单号(单据编号)及单据内码(单据ID)

    金蝶K3 Wise 用SQL生成单号(单据编号)及单据内码(单据ID).

    c# 按日期+序号进行自动编号

    在网上搜了半天,都没有看到满意的程序。只好参照别人写的例子,自己写了。编号是按照年份和月份+三位序号自动生成的,用的是SQL server数据库,用VS2010编写的。调试已通过。希望给同为新手的各位一个参考。

    SQL Server自动生成日期加数字的序列号

    USE MASTER GO IF EXISTS(SELECT * FROM dbo.sysdatabases WHERE name=’my_test_database’) DROP ...table] ([my_id] VARCHAR(16)) GO –存储过程开始 : CREATE PROCEDURE get_new_id @NEW_ID VARCHAR(16) OUTPUT

    CodeSmith SQLServer 生成C#三层代码

    数据表的名字中如果存在“_”或空格,会自动清除,每一字段生成一个对应的属性,同样会去除“_”和空格,表中的外键字段除生成一个对应属性外,还会生成一个外键实体属性,如class_id,除生成ClassId属性外,还生成...

    CnPlugin_1.5.4

    语句,除执行当前建表语句外,会自动生成comment on column TT.ID is '编号'注释语句 CnPlugin / Script / Load From MDB 以列表窗口形式读取已保存在Access数据库中的SQL语句 CnPlugin / Script / Save To MDB ...

    餐厅点餐点菜系统,有菜单、顾客输入菜名号码,生成菜单

    main.map.containsKey(id)) {System.out.println("没有该菜名编号!");continue;} Dish dish=main.map.get(id).clone(); System.out.println(dish.getName()); System.out.print("请输入所要菜名【"+dish.getName...

    基于Android毕业设计选题管理app+sql数据库(毕设源码).zip

    【服务器端采用SSH框架,请自己启动tomcat服务器,hibernate会自动生成数据库表的哈!】 hibernate生成数据库表后,只需要在admin管理员表中加个测试账号密码就可以登录后台了哈! 下面是数据库的字段说明: 班级...

    基于SSM图书拍卖社交网站+sql数据库(毕设项目).zip

    该项目代码主要针对计算机、自动化等相关专业的学生从业者下载使用,项目代码都经过严格调试,确保可以运行!放心下载使用。 也可作为期末课程设计、课程大作业、毕业设计等。具有较高的学习借鉴价值!也可直接当做...

    ssm框架酒吧系统完整导入可运行带sql

    进去之后会触发一个页面刷新的方法,之后在里面填写寄存产品的信息 其中,会员信息和产品信息都是从数据库中查询出来的,可以进行自动赋值,还有寄存单号是自动生成的随机数,之后金额的value也是在后台自动计算出来...

    MYSQL常用命令大全

    例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为96.5. mysql> insert into MyClass values(1,'Tom',96.45),(2,...

    MySql数据库自动递增值问题

    在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。MySQL支持多种数据表,每种数据表的自增属性都有差异,这里将介绍各种数据表里的数据列自增属性。 ISAM表 如果把一个NULL插入到一个AUTO_INCREMENT数据列里去...

    java开发基于SSM的养老院房间入住管理系统源码+sql数据库+项目说明.zip

    (5)入住申请管理模块:前台用户进行申请,管理员进行审核,自动计算费用,生成订单给用户。 (6)统计收入模块:该模块主要给管理观看每月的收入变化趋势。 ## 实体ER属性: 用户: 用户名,登录密码,姓名,性别,出生...

    数据库主键设计原则.txt

    那么在保存一个订单时,会要求对主档表与明细表同进行事务保存,而此时,先要生成一条订单,然后取出这个订单自动生成的主键, 然后再把此作为明细表的一个外键,进行明细的保存.这过程中,将变以复杂而且不可行.事务如何...

    排课管理系统 - 易语言、SQLServer、Photoshop-易语言

    班级表:包含班级基本编号,以ID为自增,以班级编号为主键学生表:包含学号、学生姓名、班级编号,以ID为自增,以学号为主键,班级编号为外键绑定约束到班级表 班级编号字段教师表:包含工号、教师姓名,以ID为自增...

    asp.net知识库

    SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL-DMO实现定制SQL Scripts Create Tables and Build inserts from Tables by using Mygeneration Templates(Sql Server) C# 获取...

    深入分析mysql为什么不推荐使用uuid或者雪花id作为主键

    前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?...

    零配件库存管理系统1

    1)自动生成单据号(格式:I/O + 年2位 + 月2位 + 日2位 + 2位。如 I07092100。I表示入库,O表示出库;最后两位自动计算,保证单据号不重复) 2)选择出入库日期 3)选择客户 4)选择货物 5)计算总金额(总计=数量...

    ASP设计在线考试系统OnlineTest

    另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。 系统选用的开发软件是ASP,后台数据库为ACCESS2000 ...

    asp在线考试系统(asp+access实现)

    另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。 系统选用的开发软件是ASP,后台数据库为ACCESS2000 ...

    软件工程工资管理系统

    1 ID 自动编号 20 工资总 工资编号 2 编号 文本 50 工资总 员工编号 3 基本工资 数字 自动 工资总 员工基本工资 4 津贴 数字 自动 工资总 员工津贴 5 工资扣 数字 自动 工资总 所扣除的工资数 6 洗理 数字 ...

Global site tag (gtag.js) - Google Analytics