ORACLE裡設定列自動增長

2021-04-16 00:41:52 字數 1499 閱讀 1650

在oracle裡建立列自動增長步驟如下:

1 首先建立乙個表,例如:

create

table

"department" 

(    "department_id" 

number

, "department_name" 

varchar2(30

) not

null

enable, 

"manager_id" 

number(6

,0), "location_id" 

number(4

,0), 

primary

key("department_id") enable)/

2  為department_id列建立序列:

create

sequence   "department_seq"  minvalue 

1maxvalue 

9999

increment by1

start 

with

1nocache  noorder  nocycle

3  為該錶建立觸發器:

create

orreplace

trigger

"insert_department" 

before

insert

on"department"

foreach row

begin

select

"department_seq".nextval 

into

:new.department_id 

from

dual;

end;

/alter

trigger

"insert_department" enable

/ 4  完畢,接下來如果你需要往**裡插入資料,則department_id就可以自動增長了。列最小值為1,最大值為9999,而且增加基數為1,這幾個值你都可以根據自己的需要進行修改。

5 oracle裡另一種實現自動增長的方法如下(仍然以上面建的表為例):

首先建立序列:

drop

sequence department_seq;

create

sequence department_seq

increment by1

start 

with

1maxvalue 

9999999999

nocache;

接下來直接就可以寫插入語句了,具體的sql如下:

insert

into

department 

values

(department_seq.nextval,

'研發部',

8,10);

由此可見,完成乙個功能的方法是多種多樣的,坦白說,我也不知道這兩種方法孰好孰壞,但我更加偏向於使用第一中方法。

Oracle實現列的自動增長

1 建立表 create table te t id number,t name varchar 20 表中有兩個字段,分別是t id t name,型別為number和varchar 2 建立序列 create sequence teid teid為建立的序列的名稱 increment by 1 ...

oracle欄位自動增長設定

oracle資料庫的字段無法在建表的時候通過屬性設定自動增長,因此主鍵多為生成的uuid或guid,如果需要設定自動增長的主鍵,則需要借助觸發器來實現。sequences,可翻譯成一組某某事務,在oracle中sequences通常配合觸發器來使用,這裡我們把它翻譯成序列。首先建立sequences...

Oracle中為表設定自動增長的標識列

建立序列 create sequence 序列名稱 start with 1 起始值 increment by 1 增量 maxvalue 99999999 最大值 nocycle 達到最大值後是否重新計算,當前為不重新計算,cycle為重新計算 nocache 不要快取,容易跳號 建立觸發器 cr...