(1)通过存储过程方式生成(以Oracle为例)

Create Or Replace Procedure MyProcedure

{

CV_1 OUT NVARCHAR2

}

AS

BEGIN

DECLARE

V_CURRENTCODE NVARCHAR2(100)

BEGIN

SELECT MAX([编码字段名]) INTO V_CURRENTCODE FROM [表名];

IF substr(V_CURRENTCODE,8) = to_char(sysdate,'yyyymmdd') THEN

SELECT

CAST(

CAST(nvl(Max(substr([编码字段名] , 0 ,8)),0) AS nvarchar2(30)) || CAST(nvl(Max(substr([编码字段名] , 9 ,4)),0) AS nvarchar2(30))

AS INT)+1

AS [编码字段名]

INTO CV_1

FROM [表名]

dbms_output.put_line(CV_1);

ELSE

SELECT DISTINCT(to_char(sysdate,'yyyymmdd')|| '0001') as [编码字段名] into CV_1 from dual ;

dbms_output.put_line(CV_1);

END IF;

END;

至于调用存储过程我这里就不举例子了,微软有专门提供访问数据层中存在调用 ”存储过程“的方法。

(2)通过程序代码方式生成

///

/// 生成流水号

///

public class OrderHelper

{

///

/// 帮助类

///

private OrderHelper() { }

///

/// 生成订单编号

/// 生成规则yyyyMMdd+四位数字

///

///

public static string GetOrderCode(string code)

{

if (string.IsNullOrWhiteSpace(code)) return string.Format("{0}{1}", DateTime.Now.ToString("yyyyMMdd"), "0001");

if (code.TrimEnd().Length <= 11 || code.TrimEnd().Length >= 13) return "当前编码规则不正确!";

if (code.Substring(0, 8) == DateTime.Now.ToString("yyyyMMdd").TrimEnd())

{

if (Convert.ToInt32(code.Substring(9, 4)) >= 9999) return "当前编码规则已最大值,联系管理员扩大存储容量!";

return string.Format("{0}{1}", code.Substring(0, 8), (Convert.ToInt32(code.Substring(9, 4)) + 1).ToString());

}

else

return string.Format("{0}{1}", DateTime.Now.ToString("yyyyMMdd"), "0001");

}

}

只需调用静态方法即可返回编码。

本文章是新注册用户的第一篇文章,有不足之处,请留言赐教。。。

oracle生成工单号,订单流水号(唯一编号)的生成相关推荐

  1. 根据快递单号,生成快递单号

    /*** 生成快递单号* * @param str* 第一个快递单号* @param w* 递增的个数,或递减的个数* @param status* 判断是递增还是递减 1 = 递增 else = 递 ...

  2. EOMS未完成工单统计及催单短信自动生成工具

    使用说明 配置说明: 1.  使用前请确保计算机安装了JDK 2.  请将人员列表文件夹"EOMS工单人员列表(勿删)"放置于C盘根目录下:将FSMD放到C盘根目录下. 3.  统 ...

  3. 客户下单,自动分单,生成工单 发送短信 演...

    1. 启动相关系统  客户下单 bos_fore 前端系统 将订单数据发送到服务器 bos_management 自动分单,CRM 地址库完全匹配 crm_management 生成工单,发送短信 a ...

  4. 金蝶K3生产任务单批次号和工单号同步需求实现

    需求:用户要求启用了批次号管理的自制件,计划开工单后,批次号和工单号保持一致 实现方案:通过在工单表增加触发器解决,工单保存后,自动更新批次号字段数据 CREATE TRIGGER WK_PIHAO ...

  5. sql server小型案例-自动生成销售单号的触发器

    sql server实现自动生成销售单号的触发器 1.有关系统 最近在做信息系统课程设计的小项目,我们团队所做的是一个简单的自动贩卖机销售管理系统,其中我负责的部分是销售管理,其中需要实现的一个功能是 ...

  6. mysql 单号,利用 MySQL 自增列生成订单号

    在 MySQL 里创建一个带有自增列的表,使用 MEMORY ENGINE 存储即可. 利用时间生成字符串,后面再加上自增列生成的数字,根据业务容量仅取最后几位,示例代码仅取后4位. namespac ...

  7. SpringBoot分布式生成递增单号

    方法一:Redis实现 前言 利用Redis特有的原子性的特性,在Redis中实现自增. 在Redis中设置数据的自动递增,同时设置数据的到期时间,在业务流程中,单号是每天自动递增的,同时加上一些特有 ...

  8. oracle委外加工工单,外协管理Oracle解决方案1

    制造业中,绝大多数的企业只生产少量的半成品,其余的半成品要么交付给其它供应商生产(通称为外协.外协加工.委外.托外加工),要么干脆直接从供应商处采购.至于二者之间如何区分本文不作详述. 需要清楚地了解 ...

  9. 快速查询单号物流,导出详细信息生成表格

    快递单号物流如何快速查询后,将物流信息导出生成表格呢?这里用批量查询的方法,一起来试试吧. 准备工具: 下载一个快递批量查询高手 快递单号 开始查询: 运行软件,先进入高级设置,设置好查询的接口.风格 ...

最新文章

  1. android调试——教你用dumpsys命令调试
  2. Python类的部分
  3. 用wordpress制作网站的总结
  4. sql语句在navicat中可以查询到所有数据但是在idea程序中不行_数据迁移测试实施方案...
  5. 高中技校学计算机,我没考上高中,英语数学极差,想上技校学计算机专业,玩代码的那种,有前途吗?...
  6. docker的介绍和常用命令
  7. mysql+drbd+heartbeat高可用配置说明
  8. 实现“0”的突破:给一直没有对主机硬件进行过任何“保洁、养护”的网友“支两招”...
  9. CIO:互联网IT系统和传统企业IT系统的异同
  10. http服务器使用libevent实现get和post请求实例
  11. 北大慕课(郭炜):程序设计与算法(一)编程题答案(全)
  12. 斯坦福发布AI年度报告,中国AI论文数全球第二,第一也不是美国【附下载】
  13. 显示器带宽测试软件,三种常见的上行带宽测试方法
  14. 51CTO多功能双肩包【博客活动礼品】
  15. window cmd 创建文本文件
  16. ROS示例----导航功能包Husky_exploration
  17. 汇编语言的AX,BX,CX,DX,分别表示什么
  18. 什么是SSL数字证书
  19. 2.修道士和野人问题
  20. 五子棋ai:极大极小搜索和α-β剪枝算法的思想和实现(qt和c++)(一)引言和界面设计

热门文章

  1. Java给图片添加文字水印
  2. 使用.NET FileSystemWatcher对象监控C#目录改变
  3. 离开互联网上岸1年后,后悔了!重回大厂内卷
  4. git 本地如何配置多平台账号|本地 git 账号关联远程 github/gitlab/gitee
  5. 在Unity 3D空间中显示文字
  6. 比亚迪高端化火急提速
  7. Docker容器之镜像仓库详解
  8. 计算机组成原理 并行、cache、虚拟存储器 练习题
  9. Ubuntu——修改文件(.pdf、.docx等)的默认打开应用程序
  10. html倒计时还有多少天,js倒计时代码还剩多少天