oracle 实现任务编码自增
业务需求:任务编号前面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 实现任务编码自增的更多相关文章
- Oracle EBS在编码方式为AL32UTF8时的注意事项
现如今的EBS系统中,为了推进国际化的进程,以及系统向全球化的扩展,在Oracle数据库的编码方式上渐渐从支持中国本土简体中文的ZHS16GBK转向了更趋于国际化的AL32UTF8编码方式.但随之而来 ...
- Oracle创建主键自增表
Oracle创建主键自增表 1.创建表 create table Test_Increase( userid number(10) NOT NULL primary k ...
- oracle数据库的编码
--oracle数据库的编码select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';--oracle客户端编 ...
- Oracle 使用序列实现自增列 及重置序列
序列是oracle用来生产一组等间隔的数值.序列是递增,而且连续的.oracle主键没有自增类型,所以一般使用序列产生的值作为某张表的主键,实现主键自增.序列的编号不是在插入记录的时候自动生成的,必须 ...
- oracle中主键自增
oracle中主键自增 下面用一个例子来说明自增主键的创建: 1.建用户数据表 drop table dectuser; create table dectuser( userid integer p ...
- 2017/2/8 hibernate + oracle 实现id的自增 同时 hibernate项目跑起来 会自己增加字段的原因 oracle触发器的使用
hibernate + oracle 实现id的自增 1.在oracle中先创建一个序列 : 序列语法 如下 create sequence (序列名称)seq_student_id minva ...
- Oracle 一个中文汉字 占用几个字节,由Oracle中字符集编码决定
Oracle 一个中文汉字 占用几个字节,要根据Oracle中字符集编码决定 查看oracle server端字符集 select userenv('language') from dual; 如果显 ...
- Oracle查询client编码集
Oracle查询client编码集 SQL> select userenv('language') from dual; USERENV('LANGUAGE') ---------------- ...
- oracle修改字符编码
ALTER DATABASE character set INTERNAL_USE ZHS16GBK; ALTER DATABASE CHARACTER SET ZHS16GBK; oracle修 ...
- Delphi - cxGrid连接Oracle数据库 实现数据的增删改查
cxGrid连接Oracle数据库 实现数据的增删改查 cxGrid连接Oracle数据库 1:通过OraSession连接数据库.OraDataSet实现OraSession和OraDataSour ...
随机推荐
- Ubuntu实现与主机Windows复制粘贴(安装VMware Tools)
若不能实现主机与客户机间粘贴复制执行以下命令 sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools sudo ...
- JavaScript面向对象的继承应用
面向对象语言的三大特征:继承.封装.多态 <!DOCTYPE html> <html> <head> <title>Extend-OPP</tit ...
- three.js教程3-模型对象、材质material
1.Object3D的position和scale是三维向量Vector3 因此模型的位置和缩放等变化,也是使用Vector3的属性和方法实现,查询文档Vector3. 三维向量Vector3有xyz ...
- ❤️🔥 Solon Cloud Event 新的事务特性与应用
1.Solon Cloud Event? 是 Solon 分布式事件总线的解决方案.也是 Solon "最终一致性"分布式事务的解决方案之一 2.事务特性 事务?就是要求 Even ...
- 『手撕Vue-CLI』编码规范检查
前言 这篇为什么是编码规范检查呢?因为这是一个很重要的环节,一个好的编码规范可以让代码更加清晰易读,在官方的 VUE-CLI 也是有着很好的编码规范的,所以我也要加入这个环节. 其实不管在哪个项目中, ...
- vue实现的常见的动画效果
本文包括的动画: zoom-in zoom-in-left zoom-in-right zoom-in-top zoom-in-bottom zoom-in-center-x zoom-in-cent ...
- MySQL所有的主从同步架构搭建方式
目录 一.前言 二.关于MySQL主从同步 三.部署规划 3.1 服务器规划 3.2 数据库目录规划 四.准备工具 五.四台机器上使用通用二进制包安装MySQL(以node7为例) 5.1 上传MyS ...
- 【WPF】自定义数据集合绑定到UI界面
需要展示列表项,从https://github.com/jdscodelab/File-Manager-UI-Wpf这个项目,只有前端UI. 复用了其文件内容列表 主要源码: <StackP ...
- CSS---鼠标悬浮时逐渐变大样式
.tuijian_2:hover{ transform: scale(1.3); transition: all 1s; }
- HTML——input之单行文本框
在 HTML 中,把 <input> 标签的 type 属性设置为 text 可以表示单行文本框,又叫做常规文本框.具体语法格式如下: <input type="text& ...