1、第一种——触发器方式
1.1首先创建一张用户表
create table USERS
(
u_id NUMBER(9) not null,
uname VARCHAR2(20) not null,
upwd VARCHAR2(20) not null,
usex VARCHAR2(2)
)
1.2创建一个序列
CREATE SEQUENCE T_USERS_SEQ
MINVALUE 1
NOMAXVALUE
INCREMENT BY 1
START WITH 1 NOCACHE ;
1.3创建一个名称T_USERS_TRIGGER为触发器
注意:
T_USERS_TRIGGER 是设置的触发器名字
USERS 是表名
T_USERS_SEQ 是序列名
new.u_id 是 new.主键
create or replace trigger T_USERS_TRIGGER
before insert on USERS /*on后面为表名*/
for each row
begin
select T_USERS_SEQ.nextval into :new.u_id from dual;/*new.后面为需要自增的字段*/
end T_USERS_TRIGGER;
1.4插入数据测试
insert into users(uname,upwd,usex)
values('张三','zhangsan','男') ;
commit ;
1.5查询一下数据看是否已经自增
这样每次插入数据,不需要给定U_ID 的值,就能实现值自增了。
2、第一种——SEQUENCE方式
2.1建表
create table USERS
(
u_id NUMBER(9) not null,
uname VARCHAR2(20) not null,
upwd VARCHAR2(20) not null,
usex VARCHAR2(2)
)
2.2建立序列
CREATE SEQUENCE T_USERS_SEQ
MINVALUE 1
NOMAXVALUE
INCREMENT BY 1
START WITH 1 NOCACHE ;
2.3插入数据
insert into users(u_id,uname,upwd,usex)
values(T_USERS_SEQ.nextval,'张三','zhangsan','男') ;
commit ;