PL/SQL设置主键自增

oracle没有设置主键auto increment的功能,需要自己编写序列和触发器实现主键自动递增。
示例:
创建表menu:
 

一、创建表

create table menumenuId number(10) not null primary key

                                   name varchar2(40) not null, 

                                 id_parent number(10) not null, 

                                url varchar2(300) null);

二、创建序列menu_autoinc_seq:
 create sequence menu_autoinc_seq 

                                      minvalue 1 

                                  maxvalue 99999999

                                   start with 1 

                                increment by 1 

                                    nocycle                                    

             nocache                                       

            order;

三、创建触发器menu_autoinc_tg:
 

create or replace trigger menu_autoinc_tg 

before insert on menu for each row 

begin 

select menu_autoinc_seq.nextval into :new.menuId from dual;

end menu_autoinc_tg;

原文地址:https://www.cnblogs.com/Lxiaojiang/p/6203249.html