oracle如何设置自增字段

我们在项目中遇到oracle数据库需要进行对表增加自增字段,简单的分为两步:创建序列和创建触发器,详细步骤如下:

1、我们先创建一张测试表,进行测试:
在这里插入图片描述
2、创建序列,如下序列从1开始每次增加1最大为999999999:
在这里插入图片描述
create sequence ry_id_seq(序列名)
increment by 1(每次增加1)
start with 1(从1开始)
maxvalue 999999999(到这结束);

3、查询序列:序列查询一次就会自增一次,每次查询都比上次多1
在这里插入图片描述
select ry_id_seq(序列名).nextval from dual;

4、删除序列:测试序列创建成功后,如果经过查询,那么序列再进行使用序列开始就不在是1了,那么我们可以删除该序列重新创建新的序列进行正式使用
DROP SEQUENCE seq_xx(序列名);

5、创建触发器:触发器当我们要给表插入数据时,该数据为空时,触发器会调用序列进行填补该数据
create trigger ry_id_tri(触发器名) before
insert on info_ry_staff(表名) for each row
when (new.id is null) --当id为空插入时
begin
select ry_id_seq(序列).nextval into:new.id from dual;
end;

6、序列和触发器创建好之后,我们插入数据进行测试,如下测试结果:
在这里插入图片描述
创建好触发器后我们试试自增序列是否设置成功,如上图,我们对测试表进行数据插入,只插入name,id会对应填充并增加数值

7、删除触发器:如果不想使用了可以用下面命令进行删除触发器
DROP TRIGGER PERSON_trigger

特别提醒:
一个序列只能一个表用,触发器针对单独表,使用序列和触发器可以创建表的自增ID

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值