表:
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).
在网上搜了半天,都没有看到满意的程序。只好参照别人写的例子,自己写了。编号是按照年份和月份+三位序号自动生成的,用的是SQL server数据库,用VS2010编写的。调试已通过。希望给同为新手的各位一个参考。
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
数据表的名字中如果存在“_”或空格,会自动清除,每一字段生成一个对应的属性,同样会去除“_”和空格,表中的外键字段除生成一个对应属性外,还会生成一个外键实体属性,如class_id,除生成ClassId属性外,还生成...
语句,除执行当前建表语句外,会自动生成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...
【服务器端采用SSH框架,请自己启动tomcat服务器,hibernate会自动生成数据库表的哈!】 hibernate生成数据库表后,只需要在admin管理员表中加个测试账号密码就可以登录后台了哈! 下面是数据库的字段说明: 班级...
该项目代码主要针对计算机、自动化等相关专业的学生从业者下载使用,项目代码都经过严格调试,确保可以运行!放心下载使用。 也可作为期末课程设计、课程大作业、毕业设计等。具有较高的学习借鉴价值!也可直接当做...
进去之后会触发一个页面刷新的方法,之后在里面填写寄存产品的信息 其中,会员信息和产品信息都是从数据库中查询出来的,可以进行自动赋值,还有寄存单号是自动生成的随机数,之后金额的value也是在后台自动计算出来...
例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为96.5. mysql> insert into MyClass values(1,'Tom',96.45),(2,...
在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。MySQL支持多种数据表,每种数据表的自增属性都有差异,这里将介绍各种数据表里的数据列自增属性。 ISAM表 如果把一个NULL插入到一个AUTO_INCREMENT数据列里去...
(5)入住申请管理模块:前台用户进行申请,管理员进行审核,自动计算费用,生成订单给用户。 (6)统计收入模块:该模块主要给管理观看每月的收入变化趋势。 ## 实体ER属性: 用户: 用户名,登录密码,姓名,性别,出生...
那么在保存一个订单时,会要求对主档表与明细表同进行事务保存,而此时,先要生成一条订单,然后取出这个订单自动生成的主键, 然后再把此作为明细表的一个外键,进行明细的保存.这过程中,将变以复杂而且不可行.事务如何...
班级表:包含班级基本编号,以ID为自增,以班级编号为主键学生表:包含学号、学生姓名、班级编号,以ID为自增,以学号为主键,班级编号为外键绑定约束到班级表 班级编号字段教师表:包含工号、教师姓名,以ID为自增...
SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL-DMO实现定制SQL Scripts Create Tables and Build inserts from Tables by using Mygeneration Templates(Sql Server) C# 获取...
前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?...
1)自动生成单据号(格式:I/O + 年2位 + 月2位 + 日2位 + 2位。如 I07092100。I表示入库,O表示出库;最后两位自动计算,保证单据号不重复) 2)选择出入库日期 3)选择客户 4)选择货物 5)计算总金额(总计=数量...
另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。 系统选用的开发软件是ASP,后台数据库为ACCESS2000 ...
另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。 系统选用的开发软件是ASP,后台数据库为ACCESS2000 ...
1 ID 自动编号 20 工资总 工资编号 2 编号 文本 50 工资总 员工编号 3 基本工资 数字 自动 工资总 员工基本工资 4 津贴 数字 自动 工资总 员工津贴 5 工资扣 数字 自动 工资总 所扣除的工资数 6 洗理 数字 ...