sequence + trigger 示例: --建表 create table bbb(a number(10),b varchar2(20))--建序列 create sequence test_aa minvalue 1 maxvalue 999999999999999999999999999 start with 1 increment by 1 nocache; --建trigger CREATE OR REPLACE TRIGGER USERADD BEFORE INSERT ON bbb FOR EACH ROW BEGIN SELECT test_aa.NEXTVAL INTO :NEW.A FROM DUAL; END;
--插入数据,多次执行 insert into bbb(b) values('test'); --查询 select * from bbb SQL> select * from bbb 2 ; A B ---------- ---------------------------------------- 1 test 2 test 3 test 4 test 5 test 6 test 7 test
1.oracle中无自动增长类型。
2.是否执行缓慢与你的数据类型无关
示例:
--建表
create table bbb(a number(10),b varchar2(20))--建序列
create sequence test_aa
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
nocache;
--建trigger
CREATE OR REPLACE TRIGGER USERADD
BEFORE INSERT ON bbb
FOR EACH ROW
BEGIN
SELECT test_aa.NEXTVAL INTO :NEW.A FROM DUAL;
END;
--插入数据,多次执行
insert into bbb(b) values('test');
--查询
select * from bbb
SQL> select * from bbb
2 ; A B
---------- ----------------------------------------
1 test
2 test
3 test
4 test
5 test
6 test
7 test