PLSQL设置主键自增

it2022-05-05  125

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

一、创建表

create table menu( menuId 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

相关资源:sqlserver在有数据情况下修改主键为自增1

最新回复(0)