欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle 触发器实现主键自增效果

程序员文章站 2022-03-01 18:17:50
触发器的作用  触发器的作用类似拦截器.把一些针对数据库的dml操作(insert/update/delete/select)进行拦截,符合业务要求的进行操作,不符合要求的操作可以通过抛出异常来阻止 ...

触发器的作用

  触发器的作用类似拦截器.把一些针对数据库的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 触发器实现主键自增的文章就介绍到这了,更多相关oracle 触发器主键自增内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!