当前位置:网站首页>Oracle sequence + trigger
Oracle sequence + trigger
2022-07-01 05:50:00 【WHY-small】
Oracle Sequence + trigger
Delete sequence
DROP IAM_USER_PUSH_ID_SEQ;
Add sequence
CREATE SEQUENCE "IAM_USER_PUSH_ID_SEQ" INCREMENT BY 1 MINVALUE 1 MAXVALUE 999999999999999999999999 CYCLE NOCACHE ORDER ;
trigger - Simple
create or replace trigger IAM_USER_PUSH_ID_TRI
before insert on IAM_USER_PUSH
for each row
begin
select IAM_USER_PUSH_ID_SEQ.nextval into :new.id from dual;
end;
trigger - Replace if present
CREATE OR REPLACE TRIGGER "IAM_USER_PUSH_ID_TRI" BEFORE INSERT OR UPDATE ON IAM_USER_PUSH
FOR EACH ROW
DECLARE
v_count NUMBER(24) :=0;
v_newVal NUMBER(24) := 0;
BEGIN
IF INSERTING AND :new.id IS NULL THEN
SELECT IAM_USER_PUSH_ID_SEQ.NEXTVAL INTO v_newVal FROM DUAL;
-- If this is the first time this table have been inserted into (sequence == 1)
SELECT COUNT(1) INTO v_count FROM IAM_USER_PUSH WHERE ID = v_newVal;
IF(v_count <> 0) THEN
LOOP
EXIT WHEN v_count = 0;
SELECT IAM_USER_PUSH_ID_SEQ.nextval INTO v_newVal FROM dual;
SELECT COUNT(1) INTO v_count FROM IAM_USER_PUSH WHERE ID = v_newVal;
END LOOP;
END IF;
-- assign the value from the sequence to emulate the identity column
:new.id := v_newVal;
END IF;
END;
边栏推荐
- Continue to learn MySQL
- Cjc8988 Low Power Stereo codec with 2 stereo headphone drivers
- Diagramme dynamique Excel
- 穿越派·派盘 + 思源笔记 = 私人笔记本
- 教务管理系统(免费源码获取)
- Advanced cross platform application development (II): uni app practice
- 码蹄集 - MT3149 · AND - 数据不是很强,暴力剪枝就能骗AC
- Scope data export mat
- TiDB单机模拟部署生产环境集群(闭坑实践,亲测有效)
- C language beginner level - realize the minesweeping game
猜你喜欢
Build 2022 上开发者最应关注的七大方向主要技术更新
OpenGL ES: (5) OpenGL的基本概念、OpenGL ES 在屏幕产生图片的过程、OpenGL管线(pipeline)
FPGA - 7系列 FPGA内部结构之Clocking -02- 时钟布线资源
穿越派·派盘 + 思源笔记 = 私人笔记本
论文学习记录随笔 多标签之LSML
My experience from technology to product manager
为什么用葫芦儿派盘取代U盘?
Brief description of activation function
亲爱的派盘用户,我要向您表白!
【考研高数 自用】高数第一章基础阶段思维导图
随机推荐
C language beginner level - realize the minesweeping game
MySQL数据迁移遇到的一些错误
bat操作ftp上传下载命令
OpenGL es: (3) EGL, basic steps of EGL drawing, eglsurface, anativewindow
SystemVerilog学习-07-类的继承和包的使用
【医学分割】u2net
为了保护自己的数据,他奋斗了一天一夜
OpenGL ES: (4) EGL API详解 (转)
芯片,建立在沙粒上的帝国!
【考研高数 自用】高数第一章基础阶段思维导图
Retention rate of SQL required questions
基于LabVIEW的计时器
数据治理:数据治理管理(第五篇)
Chip, an empire built on sand!
ssm+mysql二手交易网站(论文+源码获取链接)
Data governance: data governance framework (Part I)
Continue to learn MySQL
SSM的教务管理系统(免费源码获取)
restframework-simpleJWT重写认证机制
Fragment upload and breakpoint resume