其它數(shù)據(jù)庫(kù)對(duì)象序列_第1頁(yè)
其它數(shù)據(jù)庫(kù)對(duì)象序列_第2頁(yè)
其它數(shù)據(jù)庫(kù)對(duì)象序列_第3頁(yè)
其它數(shù)據(jù)庫(kù)對(duì)象序列_第4頁(yè)
其它數(shù)據(jù)庫(kù)對(duì)象序列_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Oracle開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)典第13章:其它數(shù)據(jù)庫(kù)對(duì)象 序列北京魔樂(lè)科技軟件學(xué)院李興華本章目標(biāo)掌握序列的作用以及創(chuàng)建語(yǔ)法;了解修改序列的操作;可以使用Oracle 12C提供的自動(dòng)序列。序列的作用許多的數(shù)據(jù)庫(kù)之中都會(huì)為用戶提供一種自動(dòng)增長(zhǎng)列的操作,例如:在微軟的Access數(shù)據(jù)庫(kù)之中就提供了一種自動(dòng)編號(hào)的增長(zhǎng)列(ID列)。序列(Sequence)可以自動(dòng)的按照即定的規(guī)則實(shí)現(xiàn)數(shù)據(jù)的編號(hào)操作。序列的創(chuàng)建語(yǔ)法序列的完整創(chuàng)建語(yǔ)法CREATE SEQUENCE 序列名稱 INCREMENT BY 步長(zhǎng) START WITH 開(kāi)始值 MAXVALUE 最大值 | NOMAXVALUE MINVALUE 最小值

2、| NOMINVALUE CYCLE | NOCYCLE CACHE 緩存大小 | NOCACHE ;序列 范例創(chuàng)建默認(rèn)序列的語(yǔ)法CREATE SEQUENCE 序列名稱 ;創(chuàng)建一個(gè)myseq的默認(rèn)序列CREATE SEQUENCE myseq ;序列 范例查詢數(shù)據(jù)字典 user_sequencesSELECT * FROM user_sequences ;各個(gè)主要屬性內(nèi)容如下:SEQUENCE_NAME:表示序列的名稱,此處的名稱為之前創(chuàng)建的“MYSEQ”;MIN_VALUE:此序列開(kāi)始的默認(rèn)最小值(默認(rèn)是0);MAX_VALUE:此序列增長(zhǎng)的默認(rèn)最大值(默認(rèn)是 999999999);INC

3、REMENT_BY:序列每次增長(zhǎng)的步長(zhǎng)(默認(rèn)是1);CYCLE_FLAG:循環(huán)標(biāo)記,如果是循環(huán)序列則顯示“Y”,非循環(huán)序列則顯示為“N”(默認(rèn)是“N”);CACHE_SIZE:序列操作的緩存量(默認(rèn)是20);LAST_NUMBER:最后一次操作的數(shù)值;使用序列要使用一個(gè)已經(jīng)創(chuàng)建完成的序列,則可以使用序列中提供的兩個(gè)偽列進(jìn)行操作:序列名稱.currval:表示取得當(dāng)前序列已經(jīng)增長(zhǎng)的結(jié)果,重復(fù)調(diào)用多次后序列內(nèi)容不會(huì)有任何變化,同時(shí)當(dāng)前序列的大?。↙AST_NUMBER)不會(huì)改變;序列名稱.nextval:表示取得一個(gè)序列的下一次增長(zhǎng)值,每調(diào)用一次,序列都會(huì)自動(dòng)增長(zhǎng);序列 范例member表的數(shù)據(jù)庫(kù)

4、創(chuàng)建腳本DROP TABLE member PURGE ;CREATE TABLE member ( mid NUMBER PRIMARY KEY , name VARCHAR2(50) NOT NULL) ;編寫數(shù)據(jù)插入語(yǔ)句,向member表中增加記錄INSERT INTO member (mid,name) VALUES (myseq.nextval,魔樂(lè)科技軟件學(xué)院(MLDN)) ;序列的刪除在Oracle之中,序列也是作為Oracle數(shù)據(jù)庫(kù)的一個(gè)對(duì)象存在的,所以如果現(xiàn)在要?jiǎng)h除一個(gè)不再使用的序列,則可以繼續(xù)利用DROP語(yǔ)句完成。刪除序列的語(yǔ)法DROP SEQUENCE 序列名稱 ;刪除m

5、yseq序列DROP SEQUENCE myseq ;序列 范例創(chuàng)建序列并由用戶設(shè)置序列的增長(zhǎng)步長(zhǎng)CREATE SEQUENCE 序列名稱 INCREMENT BY 步長(zhǎng) ;創(chuàng)建一個(gè)新的序列,讓其每次的增長(zhǎng)步長(zhǎng)3DROP SEQUENCE myseq ;CREATE SEQUENCE myseq INCREMENT BY 3 ;序列 范例創(chuàng)建序列并由用戶設(shè)置序列的初始值CREATE SEQUENCE 序列名稱 START WITH 初始值 ;創(chuàng)建序列,讓其初始值設(shè)置為30,每次增長(zhǎng)步長(zhǎng)為2DROP SEQUENCE myseq ;CREATE SEQUENCE myseq INCREMENT

6、BY 3 START WITH 30 ;序列緩存序列 范例創(chuàng)建序列并由用戶設(shè)置緩存操作CREATE SEQUENCE 序列名稱 CACHE 緩存大小 | NOCACHE ;創(chuàng)建序列,緩存設(shè)置為100DROP SEQUENCE myseq ;CREATE SEQUENCE myseq CACHE 100 ;序列 范例創(chuàng)建循環(huán)序列CREATE SEQUENCE 序列名稱 MAXVALUE 序列最大值 | NOMAXVALUE MINVALUE 序列最小值 | NOMINVALUE CYCLE | NOCYCLE ;創(chuàng)建循環(huán)序列,讓序列的內(nèi)容在1、3、5、7、9之間循環(huán)DROP SEQUENCE m

7、yseq ;CREATE SEQUENCE myseqSTART WITH 1 INCREMENT BY 2 MAXVALUE 10MINVALUE 1CYCLE CACHE 3 ;修改序列序列本身也屬于一個(gè)數(shù)據(jù)庫(kù)的對(duì)象,而只要是數(shù)據(jù)庫(kù)的對(duì)象,那么在創(chuàng)建之后都可以對(duì)其進(jìn)行修改,而序列的修改語(yǔ)法如下ALTER SEQUENCE 序列名稱 INCREMENT BY 步長(zhǎng) MAXVALUE 最大值 | NOMAXVALUE MINVALUE 最小值 | NOMINVALUE CYCLE | NOCYCLE CACHE 緩存大小 | NOCACHE ;序列 范例范例:創(chuàng)建一個(gè)基本序列DROP SEQU

8、ENCE myseq ;CREATE SEQUENCE myseq ;范例:修改myseq序列ALTER SEQUENCE myseqINCREMENT BY 10 MAXVALUE 98765 CACHE 100 ;自動(dòng)序列從Oracle 12C起,為了方便用戶生成數(shù)據(jù)表的流水編號(hào),所以提供了類似于DB2或MySQL那樣的自動(dòng)增長(zhǎng)列,而這種自動(dòng)增長(zhǎng)列實(shí)際上也是一個(gè)序列,只是這個(gè)序列對(duì)象的定義是由Oracle數(shù)據(jù)庫(kù)自己控制的。Oracle的自動(dòng)增長(zhǎng)序列,需要在定義列的時(shí)候進(jìn)行設(shè)置,而設(shè)置的語(yǔ)法如下所示。CREATE TABLE 表名稱 (列名稱類型GENERATED BY DEFAULT AS IDENTITY ( INCREMENT BY 步長(zhǎng) START WITH 開(kāi)始值 MAXVALUE 最大值 | NOMAXVALUE MINVALUE 最小值 | NOMINVALUE CYCLE | NOCYCLE CACHE 緩存大小 | NOCACHE ) ,列名稱類型 ,) ;序列 范例創(chuàng)建帶有自動(dòng)增長(zhǎng)列的數(shù)據(jù)表DROP TABLE mytab PURGE ;CREATE TABLE mytab (midNUMBERGENERATED BY DEFAULT AS IDENTITY (START WITH 1 INCREMENT

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論