Oracle中表新增数据实现id自增长的方式

1.问题

Oracle数据库不论是使用PL/SQL工具或者是sqldeveloper都不能在新建表的时候像MySQL一样设置id自增长,如在开发或者是学习中,id自增长却又是必须要实现的。

 

2.分析

在Oracle中,实现 id 自增长的方式是序列+触发器的方式,即:

auto_increment = 序列 + 触发器

 

3.实现方式

(1)新建一个表

--1.创建表
create table test02 (
       id int primary key,
       name_ varchar2(30)
);

(2)创建序列

--2.创建序列
create sequence sql_id; --sql_id为序列名

可查询序列情况

--nextval:获取下一个值
select sql_id.nextval from dual;

查询结果:

序列的信息;

Oracle中表新增数据实现id自增长的方式_第1张图片

(3)创建触发器

--3.创建触发器
create or replace trigger tr4
       before insert on test02 for each row
declare
       select sql_id.nextval into :new.sid from dual;
end;

(4)测试,添加记录

Oracle中表新增数据实现id自增长的方式_第2张图片

 

4.总结

举的例子比较简单,再复杂的SQL其实也是大同小异,原理相通。

你可能感兴趣的:(Oracle)