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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值