您当前的位置: 首页 >  oracle

陈橙橙丶

暂无认证

  • 2浏览

    0关注

    107博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ORACLE主键自增

陈橙橙丶 发布时间:2020-06-15 21:24:59 ,浏览量:2

在使用mysql中我们使用auto_increment就很容易的来实现主键自增,但是在oracle中并没有这个关键字的存在,所以我们需要通过别的方法来实现。

序列

序列(Sequence),序列生成器,用于提供一系列的数字,使用序列生成唯一键。每次访问序列,序列按照一定的规律增加或者减少。 序列的定义存储在SYSTEM表空间中,序列不像表,它不会占用磁盘空间。 序列独立于事务,每次事务的提交和回滚都不会影响序列。且一个序列只能对应一张表

1.使用任意一张测试表

2.序列创建

-- PD_TEL_BACK_SEQUENCE 定义你的序列名称
CREATE SEQUENCE PD_TEL_BACK_SEQUENCE INCREMENT BY 1 -- 每次加几个 

START WITH 1 -- 从1开始计数

 NOMAXVALUE -- 不设置最大值

 NOCYCLE -- 一直累加,不循环

 NOCACHE -- 不建缓冲区 


3.创建触发器

CREATE OR REPLACE TRIGGER PD_TEL_BACK_SEQUENCE 
-- 当表PD_TEL_BACK进行insert并且id为空的时候
BEFORE INSERT ON PD_TEL_BACK FOR EACH ROW WHEN (new.id is null)

begin

select PD_TEL_BACK_SEQUENCE.nextval into:new.id from dual;

end;

4.执行

尝试的insert一条记录,无需传入id。

关注
打赏
1648473527
查看更多评论
立即登录/注册

微信扫码登录

0.0382s