Oracle Sequence簡單介紹

2021-08-29 17:20:31 字數 1712 閱讀 5215

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

1. 生成

sequence

首先使用者要有create sequence或者create any sequence許可權.然後使用下面命令生成sequence物件:

sequence emp_sequence 

--每次加幾個 

start 

with1--

從1開始計數 

nomaxvalue    

--不設定最大值 

nocycle     

--一直累加,不迴圈 

cache 

10; 

[說明]

如果指定cache值,oracle就可以預先在記憶體裡面放置一些sequence,這樣訪問的快些。cache裡面的取完後,oracle自動再取一組到cache。 使用cache或許會跳號, 比如資料庫突然不正常down掉(shutdown abort),cache中的sequence就會丟失. 所以可以在create sequence的時候用nocache防止這種情況。

一旦定義了emp_sequence,你就可以用currvalnextval來使用

sequence:

sequence.currval   

--返回 sequence的當前值

sequence.nextval   

--增加sequence的值,然後返回 sequence 值

[說明]

第一次nextval返回的是初始值;隨後的nextval會自動增加你定義的increment by值,然後返回增加後的值。currval 總是返回當前sequence的值,但是在第一次nextval初始化之後才能使用currval,否則會出錯。一次nextval會增加一次 sequence的值,所以如果你在同乙個語句裡面使用多個nextval,其值就是不一樣的。

2.修改 sequence

使用者或者是該sequence的owner,或者有alter any sequence許可權才能改動sequence. 可以alter除start至以外的所有sequence引數.

如果想要改變start值,必須 drop sequence 再 re-create.

命令格式如下:

alter

sequence emp_sequence 

increment 

by10

maxvalue 

10000

cycle   

--到10000後從頭開始 

nocache ; 

3.刪除 sequence

drop

sequence order_seq; 

原創 oracle sequence簡介

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

ORACLE SEQUENCE的簡單介紹

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

ORACLE SEQUENCE的簡單介紹

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