通過實例了解Oracle序列Sequence使用方法
序列
序列(Sequence)是用來生成連續(xù)的整數(shù)數(shù)據(jù)的對象。序列常常用來作為主鍵中增長列,
序列中的可以升序生成,也可以降序生成。創(chuàng)建序列的語法是:
語法結(jié)構(gòu):創(chuàng)建序列
CREATE SEQUENCE sequence_name
[START WITH num]
[INCREMENT BY increment]
[MAXVALUE num|NOMAXVALUE]
[MINVALUE num|NOMINVALUE]
[CYCLE|NOCYCLE]
[CACHE num|NOCACHE]
語法解析:
① START WITH:從某一個整數(shù)開始,升序默認(rèn)值是 1,降序默認(rèn)值是-1。
② INCREMENT BY:增長數(shù)。如果是正數(shù)則升序生成,如果是負數(shù)則降序生成。升序默
認(rèn)值是 1,降序默認(rèn)值是-1。
③ MAXVALUE:指最大值。
④ NOMAXVALUE:這是最大值的默認(rèn)選項,升序的最大值是: 1027,降序默認(rèn)值是-1。
⑤ MINVALUE:指最小值。
⑥ NOMINVALUE:這是默認(rèn)值選項,升序默認(rèn)值是 1,降序默認(rèn)值是-1026。
⑦ CYCLE:表示如果升序達到最大值后,從最小值重新開始;如果是降序序列,達到最
小值后,從最大值重新開始。
⑧ NOCYCLE:表示不重新開始,序列升序達到最大值、降序達到最小值后就報錯。默
認(rèn) NOCYCLE。
⑨ CACHE:使用 CACHE 選項時,該序列會根據(jù)序列規(guī)則預(yù)生成一組序列號。保留在內(nèi)
存中,當(dāng)使用下一個序列號時,可以更快的響應(yīng)。當(dāng)內(nèi)存中的序列號用完時,系統(tǒng)
再生成一組新的序列號,并保存在緩存中,這樣可以提高生成序列號的效率。 Oracle
默認(rèn)會生產(chǎn) 20 個序列號。
⑩ NOCACHE:不預(yù)先在內(nèi)存中生成序列號
創(chuàng)建一個從 1 開始,默認(rèn)最大值,每次增長 1 的序列,要求 NOCYCLE,緩存中
有 30 個預(yù)先分配好的序列號
CREATE SEQUENCE MYSEQ
MINVALUE 1
START WITH 1
NOMAXVALUE
INCREMENT BY 1
NOCYCLE
CACHE 30create table stu(
sid number primary key,
sname varchar2(20)
)insert into stu values(MYSEQ.NEXTVAL,'小明');
insert into stu values(MYSEQ.NEXTVAL,'小張');
序列創(chuàng)建之后,可以通過序列對象的 CURRVAL 和 NEXTVAL 兩個“偽列”分別訪問該序
列的當(dāng)前值和下一個值
SELECT MYSEQ.NEXTVAL FROM DUAL;
SELECT MYSEQ.CURRVAL FROM DUAL;
操作實例:
--新建一個序列 drop sequence Sequence_Student_sid --創(chuàng)建一個序列 create sequence Sequence_Student_sid start with 1000 --起始值是1000 increment by 10 --每次增量1 maxvalue 9999 --最大增量9999 --新建一個表 drop table stu09 create table stu09( sid number, sname varchar2(100) ) --通過使用序列的NEXTVAL方法,進行自動增加 insert into stu09 values(Sequence_Student_sid.NEXTVAL,'蕭瑾') insert into stu09 values(Sequence_Student_sid.nextval,'小張') select * from stu09
運行截圖

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
CentOS 6.4下安裝Oracle 11gR2詳細步驟(多圖)
這篇文章主要介紹了2013-11-11
oracle11g 通過修改配置文件方式連接遠程數(shù)據(jù)庫的方法
這篇文章主要介紹了oracle11g 通過修改配置文件方式連接遠程數(shù)據(jù)庫的方法,需要的朋友可以參考下2017-04-04
教你一招怎樣查看Oracle中sid和service_name
Oracle的SID和Service?Name是數(shù)據(jù)庫中的兩個重要概念,下面這篇文章主要給大家介紹了關(guān)于如何查看Oracle的sid和service_name的相關(guān)資料,文中介紹的非常詳細,需要的朋友可以參考下2023-12-12
oracle常用分析函數(shù)與聚合函數(shù)的用法
今天小編就為大家分享一篇關(guān)于oracle常用分析函數(shù)與聚合函數(shù)的用法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01

