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:名称已由现有对象使用的错误,如下图: ![]() |
|