設定Oracle主鍵自增

2021-06-19 15:10:48 字數 1178 閱讀 3061

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');

或者:

insert into menu(name, id_parent, url) values('個人事務',0,'indi.php');

insert into menu(name, id_parent, url) values('公共事務',0,'public.php');

**:

oracle設定主鍵自增

oracle中沒有自增字段,可通過序列 觸發器間接實現,cmd中sqlplus登入,直接執行即可。一般要經過一下幾步 1建立資料表 code create table test increase userid number 10 primary key,主鍵,自動增加 username varcha...

oracle中設定自增主鍵

新建序列 create sequence name increment by x x為增長間隔 start with x x為初始值 maxvalue x x為最大值 nomaxvalue 不設定最大值 minvalue x x為最小值 nominvalue 不設定最小值 cycle 迴圈使用,到達...

ORACLE表設定主鍵自增

建立表 create table bj zr lngweekreport gascompnt idnumber number primary key,主鍵 自增長 gasname nvarchar2 100 not null,gasratio number 10,2 not null,salesda...