Oracle实现主键自增
之前在使用MySQL,在建表时候就可以设置了主键自增。
create table user(
userid int(4) primary key not null auto_increment,
username varchar(16) not null);
当在建表时忘记设置也可以利用Navicat工具,直接在设计表中选择就可以。

当我们在Oracle中添加没有主键自增添加一条信息时,他会提示你deptno为空。

Oracle中就没有自增,要创建序列来实现。
//从1开始每次增长1
creat sequence empno_auto start with 1 increment by 1;
sequence中的属性。
- minvalue 1 --最小值
- maxvalue 99999 --最大值
- OMAXVALUE – 不设置最大值
- START WITH 1 – 从1开始计数
- INCREMENT BY 1 – 每次加1个
- NOCYCLE – 一直累加,不循环
- cache 10; --预先在内存里面放置的序列值个数
- nocache
设置完序列,还要设置一个触发器。
create or replace trigger first_trigger insert on emp for each row when (new.empno is null )
begin
select empno_auto.nextval into:new.empno from dual;
end;
再次执行插入sql语句。

今天到此结束撒花花。
———————————————(手动分割线)–———————————————————
这两天再搞Oracle和Angular都没有时间更新为微服务了。
“那你还打游戏!!”
emmmmmm…sorry

在Oracle中,由于没有内置的主键自增功能,需要通过创建序列和触发器来模拟这一过程。首先创建一个序列,例如'empno_auto',设定初始值和递增规则。然后创建一个触发器,当插入新记录且主键为空时,从序列中获取下一个值填充主键。这样便能在Oracle中实现类似MySQL的主键自增效果。
3万+





