业务需求:任务编号前面4位数(通过查询其他表,值不确定),后面5位数实现自增

实现方法如下

1、创建序列

 1  create sequence GENERAL_DES_TASK_SEQ_1
2 increment by 1
3 start with 1
4 maxvalue 999999;
5
6 格式:
7 create sequence 序列名
8 increment by 1
9 start with 1
10 maxvalue 999999999;

2、创建触发器

 1 create or replace trigger GENERAL_DES_TASK_TRG_1
2 before insert on GENERAL_DES_TASK
3 for each row
4 WHEN (new.TASK_CODE is null) --注意当这个值位null时执行此方法
5 begin
6 declare
7 v_node_code varchar2(50); --声明变量,用于接收任务编号前4位
8 begin
9 SELECT NODE_CODE
10 into v_node_code
11 FROM STANDA_SCHEDULE_NODE
12 WHERE STANDA_SCHEDULE_ID = 504
13 AND STANDA_SCHEDULE_NODE_ID = :new.STANDA_SCHEDULE_NODE_ID;
14 select v_node_code ||
15 substr('000000000' || to_char(GENERAL_DES_TASK_SEQ_1.Nextval),
16 -5,
17 5)
18 into :NEW.TASK_CODE
19 FROM DUAL;
20 end;
21 end;
22
23 格式:
24 create or replace trigger 触发器名
25 before
26 insert on 表名
27 for each row
28 declare
29 -- local variables here
30 begin
31 SELECT 序列名.Nextval INTO :NEW.自增列 FROM DUAL;
32 end;

oracle 实现任务编码自增的更多相关文章

  1. Oracle EBS在编码方式为AL32UTF8时的注意事项

    现如今的EBS系统中,为了推进国际化的进程,以及系统向全球化的扩展,在Oracle数据库的编码方式上渐渐从支持中国本土简体中文的ZHS16GBK转向了更趋于国际化的AL32UTF8编码方式.但随之而来 ...

  2. Oracle创建主键自增表

    Oracle创建主键自增表   1.创建表    create table Test_Increase(            userid number(10) NOT NULL primary k ...

  3. oracle数据库的编码

    --oracle数据库的编码select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';--oracle客户端编 ...

  4. Oracle 使用序列实现自增列 及重置序列

    序列是oracle用来生产一组等间隔的数值.序列是递增,而且连续的.oracle主键没有自增类型,所以一般使用序列产生的值作为某张表的主键,实现主键自增.序列的编号不是在插入记录的时候自动生成的,必须 ...

  5. oracle中主键自增

    oracle中主键自增 下面用一个例子来说明自增主键的创建: 1.建用户数据表 drop table dectuser; create table dectuser( userid integer p ...

  6. 2017/2/8 hibernate + oracle 实现id的自增 同时 hibernate项目跑起来 会自己增加字段的原因 oracle触发器的使用

    hibernate + oracle 实现id的自增 1.在oracle中先创建一个序列 : 序列语法 如下 create  sequence   (序列名称)seq_student_id minva ...

  7. Oracle 一个中文汉字 占用几个字节,由Oracle中字符集编码决定

    Oracle 一个中文汉字 占用几个字节,要根据Oracle中字符集编码决定 查看oracle server端字符集 select userenv('language') from dual; 如果显 ...

  8. Oracle查询client编码集

    Oracle查询client编码集 SQL> select userenv('language') from dual; USERENV('LANGUAGE') ---------------- ...

  9. oracle修改字符编码

    ALTER DATABASE character set INTERNAL_USE ZHS16GBK;  ALTER DATABASE CHARACTER SET ZHS16GBK;  oracle修 ...

  10. Delphi - cxGrid连接Oracle数据库 实现数据的增删改查

    cxGrid连接Oracle数据库 实现数据的增删改查 cxGrid连接Oracle数据库 1:通过OraSession连接数据库.OraDataSet实现OraSession和OraDataSour ...

随机推荐

  1. Ubuntu实现与主机Windows复制粘贴(安装VMware Tools)

    若不能实现主机与客户机间粘贴复制执行以下命令 sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools sudo ...

  2. JavaScript面向对象的继承应用

    面向对象语言的三大特征:继承.封装.多态 <!DOCTYPE html> <html> <head> <title>Extend-OPP</tit ...

  3. three.js教程3-模型对象、材质material

    1.Object3D的position和scale是三维向量Vector3 因此模型的位置和缩放等变化,也是使用Vector3的属性和方法实现,查询文档Vector3. 三维向量Vector3有xyz ...

  4. ❤️‍🔥 Solon Cloud Event 新的事务特性与应用

    1.Solon Cloud Event? 是 Solon 分布式事件总线的解决方案.也是 Solon "最终一致性"分布式事务的解决方案之一 2.事务特性 事务?就是要求 Even ...

  5. 『手撕Vue-CLI』编码规范检查

    前言 这篇为什么是编码规范检查呢?因为这是一个很重要的环节,一个好的编码规范可以让代码更加清晰易读,在官方的 VUE-CLI 也是有着很好的编码规范的,所以我也要加入这个环节. 其实不管在哪个项目中, ...

  6. vue实现的常见的动画效果

    本文包括的动画: zoom-in zoom-in-left zoom-in-right zoom-in-top zoom-in-bottom zoom-in-center-x zoom-in-cent ...

  7. MySQL所有的主从同步架构搭建方式

    目录 一.前言 二.关于MySQL主从同步 三.部署规划 3.1 服务器规划 3.2 数据库目录规划 四.准备工具 五.四台机器上使用通用二进制包安装MySQL(以node7为例) 5.1 上传MyS ...

  8. 【WPF】自定义数据集合绑定到UI界面

    需要展示列表项,从https://github.com/jdscodelab/File-Manager-UI-Wpf这个项目,只有前端UI. 复用了其文件内容列表   主要源码: <StackP ...

  9. CSS---鼠标悬浮时逐渐变大样式

    .tuijian_2:hover{ transform: scale(1.3); transition: all 1s; }

  10. HTML——input之单行文本框

    在 HTML 中,把 <input> 标签的 type 属性设置为 text 可以表示单行文本框,又叫做常规文本框.具体语法格式如下: <input type="text& ...