`
haohao-xuexi02
  • 浏览: 215446 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

SQL生成 日期+流水号 的编号

sql 
阅读更多

--以下代码生成的编号长度为12,前6位为日期信息,格式为YYMMDD,后6位为流水号。

--创建得到当前日期的视图
CREATE VIEW v_GetDate
AS
SELECT dt=CONVERT(CHAR(6),GETDATE(),12)
GO

--得到新编号的函数
CREATE FUNCTION f_NextBH()
    RETURNS char(12)
AS
BEGIN
    DECLARE @dt CHAR(6)
    SELECT @dt=dt FROM v_GetDate
    RETURN( SELECT @dt+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK) WHERE BH like @dt+'%')
END
GO

--在表中应用函数
CREATE TABLE tb(
    BH char(12) PRIMARY KEY DEFAULT dbo.f_NextBH(),
    col int
)

--插入资料
INSERT tb(col) VALUES(1)
INSERT tb(col) VALUES(2)
INSERT tb(col) VALUES(3)
DELETE tb WHERE col=3
INSERT tb(col) VALUES(4)
INSERT tb(BH,col) VALUES(dbo.f_NextBH(),14)

--显示结果
SELECT * FROM tb

/*--结果BH col
------------------- -----------
050405000001 1
050405000002 2
050405000003 4
050405000004 14
--*/

 

原文:http://hi.baidu.com/cxl_goto/blog/item/c6a7ae189bb9de0f34fa4179.html

<script></script>
分享到:
评论
4 楼 jxyxhz 2011-10-22  
[url]http://www.52rs.net/ArticleView.aspx?gID=71bd9b1d-ad30-4f6e-896d-fed7dfbc1b3d
[/url]
3 楼 jxyxhz 2011-10-22  
[url=http://www.52rs.net/ArticleView.aspx?gID=71bd9b1d-ad30-4f6e-896d-fed7dfbc1b3d
]关于生成并发唯一性流水号的解决方案http://www.52rs.net/ArticleView.aspx?gID=71bd9b1d-ad30-4f6e-896d-fed7dfbc1b3d
[/url]
1 楼 xiang37 2011-08-29  
  

不错

相关推荐

    14位编号=8位日期(+6位流水号)

    在本节中,我们将介绍如何实现自动生成流水号的14位编号,其中前8位为当前日期(日期格式:YYYYMMDD),后6位为流水号。 什么是流水号? 流水号是一种唯一的编号,通常用于标识一个实体或记录。流水号的长度可以...

    C#生成流水号小代码

    这段代码主要实现了在C#中自动生成带有日期的流水号的功能。流水号通常用于标识唯一性记录,例如订单编号、文档编号等。该代码通过结合当前日期与递增的序列号来生成唯一的流水号。 #### 二、关键代码分析 ##### 1...

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

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

    Oracle/MySQL以当前日期加顺番 生成编号

    //生成最大编号 规则为当前日期+6位顺番, //没有记录时,当前日期+000001 //当前日期比从数据库取得的最大日期大时, 当前日期+000001 //当前日期等于从数据库取得最大日期,顺番+1

    通用流水号-sql版

    例如流水号的格式为:单据前缀+业务日期+几位顺序编号.知道了流水号的固定格式,设计流水号就非常方便了.在SqlServer中,可以通过客户端程序来生成新的流水号,也可以利用存储过程来生成.在实际的项目中,利用自定义函数...

    SQLserver中按年月日生成日期型自增编码.pdf

    SQL Server 中按年月日生成日期型自增编码 本文档介绍了在 SQL Server 中生成日期型自增编码的方法,通过创建两个函数 `GenCustomCode` 和 `GenCustomID`,可以生成按年月日的日期型自增编码。该方法可以应用于各种...

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

    总结来说,金蝶K3 Wise通过SQL语句调用特定的存储过程,实现了单据编号和单据内码的自动生成。这对于保证单据的一致性和完整性至关重要,同时也提高了业务处理的效率。在实际操作中,需要根据企业的具体业务需求和...

    VS中流水号自动生成

    /// 根据时间生成流水号 /// 流水号组成如XS200811050001 /// XS:销售 /// 20081105:日期 /// 0001:20081105日的第一个订单 /// /// &lt;returns&gt;&lt;/returns&gt; private string GetNumberString() { string ...

    java自动生成编号的实现(格式:yyMM+四位流水号)

    java自动生成编号的实现(格式:yyMM+四位流水号) java自动生成编号的实现是指通过java语言生成一个唯一的编号,格式为yyMM+四位流水号。在实际应用中,自动生成编号可以应用于各种场景,如订单编号、用户编号、物流...

    Access自动编号

    本文将详细介绍如何在Microsoft Access中实现一个自动编号功能,该功能能够根据指定的前缀、当前日期以及连续递增的流水号生成唯一的编号。 #### 二、核心知识点解析 ##### 2.1 类结构与功能概述 本文提供的代码...

    c#后台生成不重复的订单号及后台存储过程

    这种方法能够生成连续的流水号编码,但可能会在多用户同时操作时产生冲突。为了避免这种冲突,可以在保存之前进行检查或使用其他机制确保唯一性。 ### SQL存储过程应用 存储过程`PWMS_GetMaxNo`的具体实现未在代码...

    mybatis+mysql 使用存储过程生成流水号的实现代码

    如`tsValue`用于存储流水号当前值,`tdToday`用于存储流水号中的日期部分,`nowdate`用于获取当前系统日期的年月部分,`tsQZ`用于存储流水号前缀,以及一个错误标志`t_error`用于处理可能出现的SQL异常。 接着,...

    oracle(plsql)生成流水号

    `fn_no_make` 函数就是一个用PL/SQL编写的示例,专门用于生成带有特定前缀、日期和顺序编号的流水号。 首先,我们来详细解析这个函数的结构和逻辑: 1. **参数定义**: - `v_prefix`:字符串类型,表示流水号的...

    .net实现新增数据时编号自动加一

    而“格式”则可能指的是编号的展示方式,比如年份+月份+流水号,或者是简单的数字序列。这种编号方式可以提供一种有序且易于理解的标识符,便于数据管理和查询。 实现这一功能有多种方法: 1. **数据库自增字段**...

    经典SQL脚本大全

    │ 日期流水号.sql │ 材料流水号.sql │ 流水号.sql │ 箱编号连号处理.sql │ 类别自动生成编号示例.sql │ 自已做标识列的例子.sql │ 触发器自动维护已用&未用编号.sql │ 连续编号.sql │ 防止重复的示例.sql ...

    Sqlserver2000经典脚本

    学号.sql │ 开票统计--涉及到连号处理.sql │ 新编号查询示例(分类查询).sql │ 新编号查询示例.sql │ 日期流水号.sql │ 材料流水号.sql │ 流水号.sql │ 箱编号连号处理.sql ...

    sqlserver 触发器学习(实现自动编号)

    项目编号由"PJ-客户编号-日期-流水号"组成,流水号根据不同的客户进行计数,确保每个客户项目的编号从1开始。 触发器的工作流程如下: - 获取新插入的项目记录的客户编号和GUID。 - 计算流水号,对于每个新客户从1...

    sql server书籍技巧.rar

    4. **流水编号**:ROW_NUMBER()函数常用于生成连续的流水号,结合OVER()和PARTITION BY子句可以实现分组内的序列号,常用于分页或主键生成。 5. **树形数据与宝塔形数据**:在SQL Server中,递归查询(WITH语句的...

    小系统单据自动生成存储过程

    总结来说,小系统单据自动生成存储过程是通过SQL存储过程实现的,它可以高效地生成具有日期和流水号的唯一订单编号。两种判断方法各有优劣,第一种需要用户输入日期信息,第二种则自动根据创建日期判断,更方便但对...

Global site tag (gtag.js) - Google Analytics