`
c_bai
  • 浏览: 35077 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

Oracle数据库自定义函数---根据公司流程自动生成流程编号

阅读更多
--假如我自定义的编号为  BAIQRSH07+日期+001
--例如BAIQRSH072014001、 BAIQRSH072014002、
--每年都是从001开始 如  BAIQRSH072015001

CREATE OR REPLACE FUNCTION GetFlowNumber
RETURN VARCHAR2
AS
  serialNumber NUMBER(16);--序列号 自定义编号最后3位数
  flowNumber VARCHAR2(50);--返回流程编号 BAIQRSH07+日期+XXX
  flowNum VARCHAR2(50);--自定义编号  BAIQRSH07+日期
BEGIN
  flowNum := 'BAIQRSH07'|| TO_CHAR(SYSDATE, 'YYYY');
  --模糊查找数据库当前最大的编号  即最后面3位数  然后查询出来的 赋值给serialNumber
  --max  是Oracle的一个函数,这里用于获取 该表中最大的编号
  --substr 是Oracle的一个函数,这里用于截取 自定义编号,就是获取   BAIQRSH07+日期 后面的数  
  --nvl  是Oracle的一个函数,这里用于判断 为空时,赋值为0
  --to_number 是Oracle的一个函数,把字符改成数字
  --因为字符比较时  999会大于1000  所以先转为数字,再比较大小
        
 select nvl(max(to_number(substr(flow_num,14))),0) into serialNumber  from  FlowTable t  where t.flow_num like flowNum||'%';
 --这里就是用于累加的
  serialNumber :=serialNumber+1;
 if serialNumber<100 then--如果小于100
 --LPAD是是Oracle的一个函数,lpad(字段名,填充长度,填充的字符)  当序列号 不足3位时  自动填充0,例如 你序列号位1,不满足3位,怎会为001
  flowNumber := flowNum || LPAD(serialNumber, 3, '0');--左边添加自动补0,直到达到3位数
  else 
  flowNumber := flowNum || serialNumber; 
  end if;
  RETURN flowNumber;
END;




后台获取自定义编号
根据下面这条  SQL 语句就可以获取到自动生成的编号了。 后台自己写

String sql = "SELECT GetFlowNumber() flowNumber FROM DUAL";

分享到:
评论

相关推荐

    ORACLE CRC32函数

    ORACLE crc3函数,将字符类型转换成唯一的数字类型,例如CSDN,经过crc32函数转换后,得到的值为-1016176976

    Oracle学习记录之使用自定义函数和触发器实现主键动态生成

    很早就想自己写写Oracle的函数和触发器,最近一个来自课本的小案例给了我这个机会。现在把我做的东西记录下来,作为一个备忘或者入门的朋友们的参考。  案例介绍:  招投标管理系统(数据库设计)。  数据表有...

    cpp-常用的PostGIS的一些函数使用方法以及自定义函数

    常用的PostGIS的一些函数使用方法以及自定义函数,比如:pg连接oracle、pg连接sqlserver、导出csv、导入csv、查询XX米范围内数据、模糊查询、热力图聚合、生成扇形、生成栅格、生成泰森多边形、生成蜂巢图、裁剪...

    ORACLE数据库智能化管理系统2012

    可根据查询结果自动生成IN、DECODE等多形式函数的参数,省去你查询手工输入上述函数多参数时的痛苦。 批量处理查询结果集中数据去除多余前后空格,增加对多字段字符串数据标准化,替换或去除数据中任意数据位数据,...

    oracle数据库经典题目

    一、填空 1.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务进程。 2.标准的SQL语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)... Oracle数据库中角色分为系统预定义的角色和用户自定义的...

    ORACLE实现自定义序列号生成的方法

    实际工作中,难免会遇到序列号生成问题,下面就是一个简单的序列号生成函数 (1)创建自定义序列号配置表如下: --自定义序列 create table S_AUTOCODE ( pk1 VARCHAR2(32) primary key, atype VARCHAR2(20) not ...

    Oracle的表结构转成Mysql的表结构

    ORACLE表生成MYSQL建表DDL

    tencentyun#qcloud-documents#用户自定义函数1

    1、编译 2、生成 so 库文件 3、将库文件发送到每个 DN、CN 节点上,并赋予数据库用户角色权限,进行函数创建

    工作流程引擎.包含大量文档2012813

    D:\ccflow\VisualFlow\DataUser\JSLibData 用户自定义函数生成文件。 D:\ccflow\VisualFlow\DataUser\Log 系统日志文件 D:\ccflow\VisualFlow\DataUser\ReturnLog 退回日志文件. D:\ccflow\VisualFlow\DataUser\...

    动软.Net代码生成器

    动软.Net代码生成器Codematic是一款为C#数据库程序员设计的自动代码生成器,Codematic生成的代码基于面向对象的思想和三层架构设计,可以直接生成三层架构的项目的代码,使程序员可以节省大量机械录入的时间和重复...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。  拉里•埃里森  就业前景 从就业与择业的...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

     《Oracle11g宝典》是Oracle数据库管理员、安全管理员、网络管理员、应用开发人员的参考指南,还是Oracle技术支持和培训机构、Oracle学习班、高等院校计算机专业数据库课程的参考教材和上机指导教材。每类人员都...

    WebCommon.dll 超赞的C#编程助手

    1. 比DbHelper还要强大的数据库连接工具,支持SqlServer、Oracle、OldDB(Access),引用这个dll后,在webconfig(或appconfig)的connectionstrings字段或者appsetting字段里配置一个名为ConnString的节点,dll就会...

    WebCommon3.1.dll 强大的C#编程助手

    1、比DbHelper还要强大的数据库连接工具,支持SqlServer、Oracle、OldDB(Access),引用该dll后,在webconfig(或appconfig)的connectionstrings字段或者appsetting字段里配置一个名为ConnString的节点,dll就会自动...

    Shark DB Expert 2.7

    2. 遍历数据库中表、视图、存储过程、自定义函数. 系统表(仅支持MS SQL,Sybase) 同义词、程序包、序列、簇、动态性能视图(仅针对Oracle) 3. 内嵌本人开发的强大功能的SQL Builder & Parser 这是本软件的核心...

    风越.net代码生成器 v3.5

    10、支持自动生成多组多级的级联下拉框功能,快速建立如:省、市、县/公司、部门、小组等形式下拉框 ★ 11、支持表单提交超过100KB的文本数据 ★ 12、支持多文件上载、修改、删除记录时同步删除文件 13、支持控件名...

    Shark DB Expert 2.7 Green Version

    2. 遍历数据库中表、视图、存储过程、自定义函数. 系统表(仅支持MS SQL,Sybase) 同义词、程序包、序列、簇、动态性能视图(仅针对Oracle) 3. 内嵌本人开发的强大功能的SQL Builder & Parser 这是本软件的核心...

    风越asp代码生成器 V3.5

    10、支持自动生成多组多级的级联下拉框功能,快速建立如:省、市、县/公司、部门、小组等形式下拉框 ★ 11、支持表单提交超过100KB的文本数据 ★ 12、支持多文件上载、修改、删除记录时同步删除文件 13、支持控件名...

    Shark DB Expert

    2. 遍历数据库中表、视图、存储过程、自定义函数. 系统表(仅支持MS SQL,Sybase) 同义词、程序包、动态性能视图(仅针对Oracle) 3. 内嵌本人开发的强大功能的SQL Builder & Parser 这是本软件的核心价值之一,...

    驰骋工作流引擎源码

    D:\ccflow\VisualFlow\DataUser\JSLibData 用户自定义函数生成文件。 D:\ccflow\VisualFlow\DataUser\Log 系统日志文件 D:\ccflow\VisualFlow\DataUser\ReturnLog 退回日志文件. D:\ccflow\VisualFlow\DataUser\...

Global site tag (gtag.js) - Google Analytics