oracle 自增id

-- 创建序列,用于生成自增ID

CREATE SEQUENCE CUX_APS_SOFTCASULE_SEQ

START WITH 1 -- 起始值

INCREMENT BY 1 -- 每次递增1

NOMAXVALUE -- 不设置最大值

NOCYCLE -- 不循环

CACHE 20; -- 缓存20个值提高性能

-- 创建序列,用于生成自增ID

CREATE SEQUENCE CUX_APS_MOULD_DT_REC_SEQUENCE

START WITH 1 -- 起始值

INCREMENT BY 1 -- 每次递增1

NOMAXVALUE -- 不设置最大值

NOCYCLE -- 不循环

CACHE 20; -- 缓存20个值提高性能

CREATE OR REPLACE TRIGGER CUX_APS_MOULD_DT_REC_TRIGGER

BEFORE INSERT ON CUX_APS_MOULD_DATA_RECORD

FOR EACH ROW

BEGIN

SELECT CUX_APS_MOULD_DT_REC_SEQUENCE.NEXTVAL INTO :NEW.ID FROM DUAL;

END;

-- 创建触发器,在插入时自动填充自增IDCREATE OR REPLACE TRIGGER CUX_APS_SOFTCASULE_TRGBEFORE INSERT ON CUX_APS_SOFTCASULE_DATATEMP2FOR EACH ROWBEGIN -- 当ID字段为NULL时,从序列获取下一个值 IF :NEW.ID IS NULL THEN SELECT CUX_APS_SOFTCASULE_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL; END IF;END;

2026-08-12 06:50:38