需要
实现插入数据时,ID列自动增长
思路
创建一个Oracle自动增长序列,然后创建一个Oracle的触发器,当检查到插入该表数据时,这从序列里面取数据,作为自动增长id数据插入。
实现
创建序列
-- 创建自增长序列
CREATE SEQUENCE seq_autoid
MINVALUE 1
START WITH 1 --从1开始
INCREMENT BY 1 --不设最大值
NOMAXVALUE
NOCYCLE --不循环
NOCACHE;
创建触发器
CREATE TRIGGER autoid_t_org
BEFORE INSERT
ON T_NAME -- 表名
FOR EACH ROW
BEGIN
SELECT seq_autoid.nextval
INTO :new.ID -- :new这个部分时INSERT语句使用的语法
FROM DUAL;
END;
参考: oracle 主键自增长设置 SQL AUTO INCREMENT Field oracle触发器详细 How to create id with AUTO_INCREMENT on Oracle?