oracle如何设置主键自增
1、首先创建一个用来演示测试的用户表
create table tb_user
(
id NUMBER(10) not null,
createtime DATE not null,
constraint PK_tb_user primary key (id)
);
创建表可以直接写sql语句,也可以使用PLSQL Developer工具的图形化界面来创建

2、如果使用图像化界面,则如下图界面上直接点击加号添加字段,设置名称类型等信息,也很方便

3、在给各个字段添加上注释说明,添加注释是一个好的习惯
comment on table "tb_user" is
'用户表';
comment on column "tb_user"."id" is
'主键id';
comment on column "tb_user"."createtime" is
'创建时间';
图像界面上在添加字段的时候,可以直接写上每个字段的注释

4、--创建序列
create sequence seq_tb_user
minvalue 1
nomaxvalue
start with 1
increment by 1
nocycle --一直累加,不循环
--nocache; --不缓存
cache 10; --缓存10条
创建序列同样可以使用工具图形化创建,打开方式如下图所示

5、打开之后,设置好最大、最小、开始位置、每次递增多少、是否循环、是否缓存等

6、--创建触发器,如果insert语句没有传ID自动递增
CREATE OR REPLACE TRIGGER tr_tb_user
BEFORE INSERT ON tb_user FOR EACH ROW WHEN (new.id is null)
begin
select seq_tb_user.nextval into:new.id from dual;
end;
创建触发器同样可以使用工具图形化创建,打开方式如下图所示

7、打开触发器模版向导窗口之后,填写好名称,触发方式,事件,表名
