Heim  >  Artikel  >  Datenbank  >  Oracle PL/SQL 设置主键自动递增

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

WBOY
WBOYOriginal
2016-06-07 17:27:311365Durchsuche

Oracle没有设置主键auto increment 的功能,需要自己白那些序列和触发器实现主键自动递增。

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;

其中end语句可以写成end;

 

在Command window进行创建数据库对象的时候,如果使用到了多行语句,,可在结束后另起一行输入/

测试:

    insert into menu values('','个人事务',0,'indi.php');
    insert into menu values('','公共事务',0,'public.php');

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn