oracle没有mysql那样可以有自增主键,需要自己通过创建序列才能实现自增
/*创建自增序列*/ CREATE SEQUENCE CMB_CHINA_CITYS_ID MINVALUE 1 --最小值 NOMAXVALUE --不设置最大值 START WITH 1 --从1开始计数 INCREMENT BY 1 --每次加1 NOCYCLE --一直累加,不循环 NOCACHE; --不建缓冲区
说明:
CMB_CHINA_CITYS_ID:序列名称
插入语句的时候就可以使用CMB_CHINA_CITYS_ID.nextval,方式来获取序列
上面的只是自动创建ID,插入数据的时候得手动调用,如果想方便一点,我们还可以加入一个触发器,当程序插入数据之前触发
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;
说明:
TRIGGER_TABLE_AUTO_INCREA_ID:触发器名称
TABLE_NAME:表名