oracle中怎么实现新插入记录的某个字段值自动加1-CSDN论坛

2024-12-05 15:10:23
推荐回答(1个)
回答(1):

Oracle用触发器实现自增长列:


比如表名:tab,主键为:id
1. 增加一个序列号:   create sequence seq_tab
2. 增加一个触发器,如果是insert,则取序列号值,赋予主键列

CREATE OR REPLACE TRIGGER TRI_tab
  BEFORE INSERT ONtabFOR EACH ROW
DECLARE
-- LOCAL VARIABLES HERE     
BEGIN
IF :NEW.id IS NULL THEN
SELECT SEQ_tab.NEXTVAL INTO :NEW.id FROM DUAL;
END IF;
END TRI_tab;