可以通过sequence来实现,每次递增一即可。
create sequence SEQ_ID
minvalue 1
maxvalue 99999999
start with 1
increment by 1
cache 30
cycle;
之后执行:
insert into tab (auto_id) values (SEQ_ID.Nextval);
备注:sequence 是一个自增长的序列,每次调用nextval的时候会自动增加,可以定义起始值,最大值,增量,cycle是表示循环,即到最大值后从起始值重新开始。 每次执行都是会自增的。
1 有 rownum啊! 不用白不用
2 可以用rowid 这个可是唯一的值
select rowid,rownum .... from ...
1、建立一个自增sequences
2、表建了触发器 当插入时调用 select seq.next into 变量 from dual 自增列 存入 变量 就ok了
思想:
1 创建序列
2 select 序列名.nextval from XXX; 可以在from前面加上其他的列名
创建序列方法
create sequence tmp_seq
maxvalue 10000
minvalue 1
start with 1
increment by 1
cache 10
order;
显示自增列
select tmp_seq.nextval from XXX;