ORACLE数据库[序列]+[触发器]实现主键自增
1.创建自增序列(seq_student)
CREATE OR REPLACE SEQUENCE seq_student
INCREMENT BY 1 --每次增加1,可以写非0的任何整数
START WITH 1000 -- 从1开始(起始值)
NOMAXVALUE -- 设置最大值:设置为 NOMAXVALUE 表示无最大值;设置为 MAXVALUE 999 表示最大值 999
MINVALUE 1000 -- 设置最小值
NOCYCLE -- 不循环一直增加
CACHE 20; -- 设置20个缓存,不使用缓存则写 NOCACHE
2.创建触发器(tri_student_ins)
CREATE TRIGGER tri_student_ins --每个触发器名不可一样
BEFORE INSERT ON t_student FOR EACH ROW WHEN (NEW.ID IS NULL) --STUDENT:换为自己的表名;ID 换为自己的主键名
BEGIN
SELECT seq_student.nextval INTO:NEW.ID FROM DUAL; -- SEQ_STUDENT:换为上一步创建的自增序列名;ID 换为主键名
END;
3.插入数据,不需要指定主键,主键自增
INSERT INTO t_student(code,name) VALUES
SELECT 'c1','n1' FROM dual UNION
SELECT 'c2','n2' FROM dual UNION
SELECT 'c3','n3' FROM dual
原文连接:🔗酷酷的阿杰

浙公网安备 33010602011771号