oracle数据库实现id自增

方式一:

1.通过sequence实现

2.sql如下:创建表sql和sequence

创建完成sql之后下面是插入数据sql:

效果展示如下:

方式二:

1.通过sequence+触发器实现

2.sql如下:

插入数据sql如下:

注意:这种方式相比上面方式多创建一个触发器,但是插入数据时候不需要sequence.nextval

效果展示如下:

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

上面sql截图不太方便,下面是sql源码:


		 create table stud(
						 id number,
						 name varchar2(64),
						 descr varchar2(256),
						 primary key(id) 
					);
  
    create sequence stu_sequence  increment  by 1  ----每次递增1
                                  start with 1  ----从1开始
                                  nomaxvalue   -----没有最大值
                                  minvalue 1    ----最小值1
                                  nocycle ;   ----不循环

insert into stud VALUES(stu_sequence.nextval,'陈深','武警特工'); ----stu_sequence.nextval实现自增效果
select * from stud;  
                                                     

----------------------------------------------------------------------
 create table stud1(
         id number,
         name varchar2(64),
         descr varchar2(256),
         primary key(id) 
      );

create sequence stu_sequence1  increment  by 1  ----每次递增1
                                  start with 1  ----从1开始
                                  nomaxvalue   -----没有最大值
                                  minvalue 1    ----最小值1
                                  nocycle ;   ----不循环

create or replace trigger t_stud_trigger  ----触发器名称,随意起
              before insert on stud1  ---创建的表名
              for each row
              when(new.id is null)   ----id主键
              begin
              select  stu_sequence1.nextval into:NEW.ID from dual; ---stu_sequence(序列名字)   NEW.ID(ID主键)
              end ;

insert into stud1(name,descr) values('娜可露露','保护我方打野');
insert into stud1(name,descr) values('不知火舞','保护我方输出');
select * from stud1;

感兴趣的小伙伴可以扫码关注下公众号哦,公众号会分享高质量的技术文章哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酒书

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值