ORACLE实现表中某列自增ID功能

一、建立好相关的表如:tb_test,准备实现自增ID列的数据类型需要注意一下,一般将其设为number类型

二、建立序列,用以提取递增数值

CREATE SEQUENCE ATCODEV.SEQ_TMPSEQ
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 999999999999999999999999999
NOCACHE 
NOCYCLE 
NOORDER 

三、建立表的触发器,以实现在插入数据时使用序列进行递增ID的赋值

CREATE OR REPLACE TRIGGER DATAFETCHDEV.tg_tb_test
BEFORE INSERT
ON ATCODEV.TB_TEST 
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
DECLARE
tmpVar NUMBER;
BEGIN
   SELECT SEQ_TMPSEQ.NEXTVAL INTO tmpVar FROM dual;
   :NEW.ID := tmpVar;
END tg_tb_test;




你可能感兴趣的:(ORACLE实现表中某列自增ID功能)