如何對oracle資料庫中的表設定主鍵自增?

2021-05-25 15:42:52 字數 1124 閱讀 3834

oracle中沒有自增字段,可通過序列+觸發器間接實現,cmd中sqlplus登入,直接執行即可。一般要經過一下幾步:

1建立資料表

create table test_increase(

userid number(10) primary key,  /*主鍵,自動增加*/

username varchar2(20));

2建立自動增長序列

create

sequence testincrease_sequence

increment 

by  

1    

--  每次加幾個  

start 

with

1--  從1開始計數  

nomaxvalue       

--  不設定最大值  

nocycle          

--  一直累加,不迴圈  

cache 

10 ; 

3建立觸發器

create

trigger

test_increase before

insert

ontest_increase 

foreach row

begin

select

testincrease_sequence.nextval 

into

:new.userid 

from

dual;

end ;

4 提交

commit;

5 測試

反覆執行如下語句:

insert

into

test_increase(username) 

values

( 'test

' )6 檢視插入結果:

userid username

1       test

2       test

3       test

4       test

5       test

6       test

7       test

8       test

9       test

Oracle 資料庫中的表

oracle 資料庫中的表 使用者定義的表 使用者自己建立並維護的一組表 包含了使用者所需的資訊 資料字典 由oracle server自動建立的一組表 包含資料庫資訊 select table name from user tables select distinct object type fr...

如何檢視oracle資料庫中的所有表

覺得你應該先弄清楚oracle的常規資料字典的結構,像9i裡的常規資料字典中物件名稱就有以user,all,dba為字首的物件。以user為例,我們查該物件下有些什麼表,就應該執行下列的語句 sql select table name from user tables 類似的,你可以進行替換。如果你...

Oracle資料庫中的dual表

select user from dual select to char sysdate,yyyy mm dd hh24 mi ss from dual 獲得當前系統時間 select sys context userenv terminal from dual 獲得主機名 select sys c...