当前位置:数据库 > Oracle >>

Oracle||PL/SQL设置主键自动递增

Oracle||PL/SQL设置主键自动递增
 
Oracle没有设置主键auto increment 的功能,需要自己白那些序列和触发器实现主键自动递增。
示例:
创建表menu:
[sql] 
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:
[sql] 
create sequence menu_autoinc_seq  
       minvalue 1  
       maxvalue 99999999  
       start with 1  
       increment by 1  
       nocycle  
       nocache  
       order;  
 
创建触发器menu_autoinc_tg:
[sql] 
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;  
 
其中end语句可以写成end;
在Command window进行创建数据库对象的时候,如果使用到了多行语句,可在结束后另起一行输入/
 
测试:
[sql] 
insert into menu values('','个人事务',0,'indi.php');  
insert into menu values('','公共事务',0,'public.php');  
 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,