1、建立数据表
create table test(
id number(10) primary key,
name varchar(30) not null,
age number(5) not null,
sex number(5) not null
);
2、创建自动增长序列
CREATE SEQUENCE test_Sequence
start with 1 -- 从1开始计数
increment by 1 --每次增加1
minvalue 1 --最小值1
maxvalue 999999 --最大值999999
-- nomaxvalue --不设置最大值
nocycle -- 一直累加,不循环
nocache
noorder;
3、创建触发器
CREATE OR REPLACE TRIGGER test_Trigger BEFORE
insert ON test FOR EACH ROW
begin
select test_Sequence.nextval into:New.id from sys.dual;
end;
测试:
insert into test(name,age,sex) values('test',12,1);
insert into test(name,age,sex) values('test',12,1);
insert into test(name,age,sex) values('test',12,1);
结果如下图:
=================================================================
后续:之前将 表的名字和触发器的名字 起成相同的名字了,结果报ORA-00955:名称已由现有对象使用的错误,如下图: