今天就跟大家聊聊有关Oracle 触发器是怎么实现主键自增效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
触发器的作用
触发器的作用类似拦截器.把一些针对数据库的DML操作(insert/update/delete/select)进行拦截,符合业务要求的进行操作,不符合要求的操作可以通过抛出异常来阻止
说白了就是数据确认(after)与安全性检查(before),此外触发器不针对select操作
1.首先创建表testUser
Oracle设置为不区分大小的,所以table名,言简意赅即可。
CREATE TABLE testUser ( id NUMBER ( 11 ) primary key, name VARCHAR ( 50 ) );
2.创建sequence,最小值为1,最大值为99999999,初始为1,步长1
sequence名的话针对某张表习惯命名为:seq_表名
CREATE sequence seq_testUser minvalue 1 maxvalue 99999999 START WITH 1 INCREMENT BY 1 nocache ORDER;
3.创建触发器
触发器是基于sequence 所以习惯命名为:trg_sequence名
CREATE OR REPLACE TRIGGER trg_seq_testUser BEFORE INSERT ON testUser FOR EACH ROW BEGIN SELECT seq_testUser.nextval INTO : new.id FROM dual; END;
4.插入一条数据
insert into testUser(username) values('强哥0'); insert into testUser(username) values('强哥1'); insert into testUser(username) values('强哥2');
5查询结果
select * from testUser
看完上述内容,你们对Oracle 触发器是怎么实现主键自增效果有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。