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;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM