Oracle实现主键自增
因为oracle不存在mysql 的自增方法auto_increment,所以在Oracle中要实现字段的自增需要使用序列和触发器来实现字段的自增。关于oracle的安装和卸载可以看我上一篇文章。
第一步:创建序列
语法: create sequence 序列名 [INCREMENT BY 值 START WITH 初始值 MAXVALUE 最大值 MINVALUE 最小值 CYCLE/NOCYCLE CACHE/NOCACHE]
参数说明
INCREMENT BY :序列变化的步进,负值表示递减。(默认1)
START WITH:序列的初始值 。(默认1)
MAXvalue:序列可生成的最大值。(默认不限制最大值,NOMAXVALUE)
MINVALUE:序列可生成的最小值。(默认不限制最小值,NOMINVALUE)
CYCLE:用于定义当序列产生的值达到限制值后是否循环(NOCYCLE:不循环,CYCLE:循环)。
CACHE:表示缓存序列的个数,数据库异常终止可能会导致序列中断不连续的情况,默认值为20,如果不使用缓存可设置NOCACHE
例如:create sequence test2_sequence increment by 1 start with 20 nomaxvalue nocycle ;
查看序列:SECECT 序列名.currval,序列名.nextval from dual;
第二步:创建触发器
触发器
在触发器中有一个触发事件,触发器是通过这个“触发事件”来执行的(而存储过程的调用或执行是由