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
原文连接:🔗酷酷的阿杰
本文作者:Journey&Flower
本文链接:https://www.cnblogs.com/JourneyOfFlower/p/17012606.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步