Oracle设置主键自增

oracle没有mysql那样能够有自增主键,须要本身经过建立序列才能实现自增mysql

/*建立自增序列*/
CREATE SEQUENCE CMB_CHINA_CITYS_ID
MINVALUE 1       --最小值
NOMAXVALUE       --不设置最大值
START WITH 1     --从1开始计数
INCREMENT BY 1   --每次加1
NOCYCLE          --一直累加,不循环
NOCACHE;         --不建缓冲区

说明:sql

CMB_CHINA_CITYS_ID:序列名称oracle

插入语句的时候就能够使用CMB_CHINA_CITYS_ID.nextval,方式来获取序列spa

 上面的只是自动建立ID,插入数据的时候得手动调用,若是想方便一点,咱们还能够加入一个触发器,当程序插入数据以前触发code

CREATE OR REPLACE TRIGGER TRIGGER_TABLE_AUTO_INCREA_ID
BEFORE INSERT ON TABLE_NAME  
FOR EACH ROW    
DECLARE  
BEGIN    
SELECT TABLE_NAME.NEXTVAL INTO :NEW.ID FROM DUAL;  
END TRIGGER_TABLE_AUTO_INCREA_ID;

说明:blog

TRIGGER_TABLE_AUTO_INCREA_ID:触发器名称class

TABLE_NAME:表名循环

相关文章
相关标签/搜索