oracle生成工单号,订单流水号(唯一编号)的生成
(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生成工单号,订单流水号(唯一编号)的生成相关推荐
- 根据快递单号,生成快递单号
/*** 生成快递单号* * @param str* 第一个快递单号* @param w* 递增的个数,或递减的个数* @param status* 判断是递增还是递减 1 = 递增 else = 递 ...
- EOMS未完成工单统计及催单短信自动生成工具
使用说明 配置说明: 1. 使用前请确保计算机安装了JDK 2. 请将人员列表文件夹"EOMS工单人员列表(勿删)"放置于C盘根目录下:将FSMD放到C盘根目录下. 3. 统 ...
- 客户下单,自动分单,生成工单 发送短信 演...
1. 启动相关系统 客户下单 bos_fore 前端系统 将订单数据发送到服务器 bos_management 自动分单,CRM 地址库完全匹配 crm_management 生成工单,发送短信 a ...
- 金蝶K3生产任务单批次号和工单号同步需求实现
需求:用户要求启用了批次号管理的自制件,计划开工单后,批次号和工单号保持一致 实现方案:通过在工单表增加触发器解决,工单保存后,自动更新批次号字段数据 CREATE TRIGGER WK_PIHAO ...
- sql server小型案例-自动生成销售单号的触发器
sql server实现自动生成销售单号的触发器 1.有关系统 最近在做信息系统课程设计的小项目,我们团队所做的是一个简单的自动贩卖机销售管理系统,其中我负责的部分是销售管理,其中需要实现的一个功能是 ...
- mysql 单号,利用 MySQL 自增列生成订单号
在 MySQL 里创建一个带有自增列的表,使用 MEMORY ENGINE 存储即可. 利用时间生成字符串,后面再加上自增列生成的数字,根据业务容量仅取最后几位,示例代码仅取后4位. namespac ...
- SpringBoot分布式生成递增单号
方法一:Redis实现 前言 利用Redis特有的原子性的特性,在Redis中实现自增. 在Redis中设置数据的自动递增,同时设置数据的到期时间,在业务流程中,单号是每天自动递增的,同时加上一些特有 ...
- oracle委外加工工单,外协管理Oracle解决方案1
制造业中,绝大多数的企业只生产少量的半成品,其余的半成品要么交付给其它供应商生产(通称为外协.外协加工.委外.托外加工),要么干脆直接从供应商处采购.至于二者之间如何区分本文不作详述. 需要清楚地了解 ...
- 快速查询单号物流,导出详细信息生成表格
快递单号物流如何快速查询后,将物流信息导出生成表格呢?这里用批量查询的方法,一起来试试吧. 准备工具: 下载一个快递批量查询高手 快递单号 开始查询: 运行软件,先进入高级设置,设置好查询的接口.风格 ...
最新文章
- android调试——教你用dumpsys命令调试
- Python类的部分
- 用wordpress制作网站的总结
- sql语句在navicat中可以查询到所有数据但是在idea程序中不行_数据迁移测试实施方案...
- 高中技校学计算机,我没考上高中,英语数学极差,想上技校学计算机专业,玩代码的那种,有前途吗?...
- docker的介绍和常用命令
- mysql+drbd+heartbeat高可用配置说明
- 实现“0”的突破:给一直没有对主机硬件进行过任何“保洁、养护”的网友“支两招”...
- CIO:互联网IT系统和传统企业IT系统的异同
- http服务器使用libevent实现get和post请求实例
- 北大慕课(郭炜):程序设计与算法(一)编程题答案(全)
- 斯坦福发布AI年度报告,中国AI论文数全球第二,第一也不是美国【附下载】
- 显示器带宽测试软件,三种常见的上行带宽测试方法
- 51CTO多功能双肩包【博客活动礼品】
- window cmd 创建文本文件
- ROS示例----导航功能包Husky_exploration
- 汇编语言的AX,BX,CX,DX,分别表示什么
- 什么是SSL数字证书
- 2.修道士和野人问题
- 五子棋ai:极大极小搜索和α-β剪枝算法的思想和实现(qt和c++)(一)引言和界面设计