Oracle实现主键自增的几种方式
数据库作为一个系统的核心,数据库设计的1NF就是一个表结构必须有唯一约束也就是主键,Oracle数据库本身没有自增机制,不像MySQL直接使用关键字AUTO_INCREMENT自动加一,所以需要我们去自己来实现,下面有几种实现的方式 一、序列化+触发器 第一步在表结构完整的情况下创建一个序列 CREATE SEQUENCE SEQ_NAME INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999 START WITH 1 CACHE 20 第二部创建触发器 CREATE OR REPLACE TRIGGER TRIGGER_NEW BEFORE INSERT ON TABLE_NAME REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW ENABLE WHEN (NEW.ID IS NULL) BEGIN SELECT SEQ_NEW INTO : NEW.ID FROM DUAL END 二、序列+显示调用 同样先创建触发器 CREATE SEQUENCE SEQ_NAME INCREMENT BY 1 MINVALUE 1 NOMAXVALUE START WITH 1 NOCYCLE NOCACHE 下面显示调用 INSERT INTO TABLE_NAME VALUES(SEQ