溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行oracle中的sequence分析

發布時間:2021-11-30 17:21:34 來源:億速云 閱讀:196 作者:柒染 欄目:數據庫

本篇文章給大家分享的是有關如何進行oracle中的sequence分析,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。  

1、Create Sequence  

你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE權限,  

CREATE SEQUENCE emp_sequence  

     INCREMENT BY 1   -- 每次加幾個  

     START WITH 1     -- 從1開始計數  

     NOMAXVALUE       -- 不設置最大值  

     NOCYCLE          -- 一直累加,不循環  

     CACHE 10;  

一旦定義了emp_sequence,你就可以用CURRVAL,NEXTVAL  

CURRVAL=返回 sequence的當前值  

NEXTVAL=增加sequence的值,然后返回 sequence 值  

比如:  

   emp_sequence.CURRVAL  

   emp_sequence.NEXTVAL  

可以使用sequence的地方:  

- 不包含子查詢、snapshot、VIEW的 SELECT 語句  

- INSERT語句的子查詢中  

- NSERT語句的VALUES中  

- UPDATE 的 SET中    

可以看如下例子:  

INSERT INTO emp VALUES   

(empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);  

SELECT empseq.currval      FROM DUAL;  

但是要注意的是:  

- 第一次NEXTVAL返回的是初始值;隨后的NEXTVAL會自動增加你定義的INCREMENT BY值,然后返回增加后的值。CURRVAL 總是返回當前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否則會出錯。一次NEXTVAL會增加一次SEQUENCE的值,所以如果你在同一個語句里面使用多個NEXTVAL,其值就是不一樣的。明白?  

- 如果指定CACHE值,ORACLE就可以預先在內存里面放置一些sequence,這樣存取的快些。cache里面的取完后,oracle自動再取一組到cache。 使用cache或許會跳號, 比如數據庫突然不正常down掉(shutdown abort),cache中的sequence就會丟失. 所以可以在create sequence的時候用nocache防止這種情況。  

2、Alter Sequence  

你或者是該sequence的owner,或者有ALTER ANY SEQUENCE 權限才能改動sequence. 可以alter除start至以外的所有sequence參數.如果想要改變start值,必須 drop   sequence 再 re-create .  

Alter sequence 的例子  

ALTER SEQUENCE emp_sequence  

     INCREMENT BY 10  

     MAXVALUE 10000  

     CYCLE     -- 到10000后從頭開始  

     NOCACHE ;  

影響Sequence的初始化參數:  

SEQUENCE_CACHE_ENTRIES =設置能同時被cache的sequence數目。   

可以很簡單的Drop Sequence  

DROP SEQUENCE order_seq;

以上就是如何進行oracle中的sequence分析,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女