Oracle Sequence實現自增

2021-10-11 17:55:00 字數 2412 閱讀 3363

create

table demo

( id int

notnull

auto_increment

primary

key,

key1 varchar2(40)

null

, key2 varchar2(40)

null

);

create sequence seqname       --序列名字

increment by

1--每次自增1, 也可寫非0的任何整數,表示自增,或自減

start

with

1--以該值開始自增或自減

maxvalue 1.0e20 --最大值;設定nomaxvalue表示無最大值

minvalue 1

--最小值;設定nominvalue表示無最大值

cycle

or nocycle --設定到最大值後是否迴圈;

cache 20

--指定可以快取 20 個值在記憶體裡;如果設定不快取序列,則寫nocache

order

or noorder --設定是否按照請求的順序產生序列

--準備工作建立一張表

create

table dept_p(

dept_id varchar2(40)

notnull

, dept_name varchar2(40)

, parent_id varchar2(40)

, state number(11)

, dept_sort number(11)

);alter

table dept_p add

[constraint dept_id]

primary

key(dept_id)

;

第一步:建立序列sequence

create sequence seq_t_dept

minvalue 1

maxvalue 99999999

start

with

1increment by

1cache 50

第二步:建立觸發器

create

orreplace

trigger

"dept_trig"

before insert

on dept_p

referencing old as old new as new for each row

declare

begin

select seq_t_dept.nextval into :new.dept_sort from dual;

end dept_trig;

第三步:插入資料測試看dept_sort是否自增

insert

into dept_p values

('001'

,'安保部'

,'000',1

);select

*from dept_p;

在真實情況下,用方法一,可以做到免插入自增長

第一步:建立序列sequence

//建立sequence

create sequence seq_on_dept

increment by

1start

with

1nomaxvalue

nocycle

nocache;

第二步:顯示呼叫序列

insert

into dept_p values

('001'

,'安保部'

,'000',1

, seq_on_test.nextval)

;insert

into dept_p values

('001'

,'安保部'

,'000',1

, seq_on_test.nextval)

;

第三步:查詢進行檢視

select

*from dept_p

注:

--檢視序列當前值和下乙個值的檢視方式

select seq_on_dept.currval from dual;

select seq_on_dept.nextval from dual;

原創 oracle sequence簡介

sequence簡介 2013 12 26 一 概述 sequence是序列號的意思,每次取的時候它會自動增加。sequence與表沒有從屬關係,與表一樣屬於使用者。二 主要內容 1 create sequence語法 首先使用者要有create sequence或者create any seque...

Oracle Sequence簡單介紹

oracle中提供了sequence物件,由系統提供自增長的序列號,通常用於生成資料庫資料記錄的自增長主鍵或序號的地方.下面就主要介紹一下關於sequence物件的生成,修改,刪除等常用的操作 1.生成 sequence 首先使用者要有create sequence或者create any sequ...

ORACLE SEQUENCE的簡單介紹

在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。1 create sequence 你首先要有create sequence或者create any sequence許可權,create sequence emp sequence incr...