Oracle中NEXTVAL案例詳解
1.什么是sequence?其作用是什么?
在Oracle數(shù)據(jù)庫(kù)中,什么是序列呢?其中的作用是什么呢?其實(shí)sequence是序列號(hào)生成器,可以為表中的行自動(dòng)生成序列號(hào),產(chǎn)生一組等間隔的數(shù)值(類型為數(shù)字)。其主要的用途是生成表的主鍵值,可以在插入語句中引用,在插入之前,獲取序列號(hào)nextval值,然后進(jìn)行插入。也可以通過查詢檢查當(dāng)前值,或使序列增至下一個(gè)值。
2.如何定義一個(gè)sequence?
create sequence INR_REQUIRMENT_SQUENCE INCREMENT BY 1 -- 每次加幾個(gè) START WITH 1 -- 從1開始計(jì)數(shù) NOMAXVALUE -- 不設(shè)置最大值 NOCYCLE -- 一直累加,不循環(huán) CACHE 10;
上面語句則創(chuàng)建了一個(gè)sequence?
3.如何獲取一個(gè)sequence的值?
SELECT INR_REQUIRMENT_SQUENCE.CURRVAL FROM dual --獲取當(dāng)前的sequence的值,第一次NEXTVAL返回的是初始值;隨后的NEXTVAL會(huì)自動(dòng)增加你定義的INCREMENT BY值, 然后返回增加后的值。CURRVAL 總是返回當(dāng)前sequence的值,但是在第一次NEXTVAL 初始化之后才能使用CURRVAL,否則會(huì)出錯(cuò)。一次NEXTVAL會(huì)增加一次sequence的值, 所以如果你在同一個(gè)語句里面使用多個(gè)NEXTVAL。
4.可以在哪些地方使用Sequence?
- 不包含子查詢、snapshot、VIEW的 SELECT 語句
- INSERT語句的子查詢中
- NSERT語句的VALUES中
- UPDATE 的 SET中
在實(shí)際開發(fā)中,比如一個(gè)表中的主鍵需要先得到主鍵ID,可以用NEXTVAL來獲下一個(gè)取序列值,然后再進(jìn)行其他操作。
5.如何刪除Sequence?
DROP sequence policy_id_seq; --policy_id_seq為sequence的名字,如果要改變sequence中的初始值,必須先刪除序列號(hào)然后再進(jìn)行創(chuàng)建。你或者是該sequence的owner,或者有ALTER ANY sequence權(quán)限才能改動(dòng)sequence,直接用Alter語句進(jìn)行sequence的更新。
到此這篇關(guān)于Oracle中NEXTVAL案例詳解的文章就介紹到這了,更多相關(guān)Oracle中NEXTVAL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Oracle表空間數(shù)據(jù)庫(kù)文件收縮案例解析
這篇文章主要介紹了Oracle表空間數(shù)據(jù)庫(kù)文件收縮案例解析,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07
Oracle 數(shù)據(jù)庫(kù)連接查詢SQL語句
oracle 連接查詢分如下幾種方法,大家可以看看,整理了下oracle 內(nèi)外鏈接。2009-08-08
Oracle中獲取會(huì)話信息的兩個(gè)函數(shù)分享
這篇文章主要介紹了Oracle中獲取會(huì)話信息的兩個(gè)函數(shù)分享,本文分別講解了USERENV和兩個(gè)函數(shù)sys_context,并對(duì)可以獲取哪些信息作了介紹,需要的朋友可以參考下2014-12-12
ORACLE 12C PDB 維護(hù)基礎(chǔ)知識(shí)介紹
CDB和PDB是ORACLE 12C一個(gè)很亮的新特性,由于他們的引入導(dǎo)致傳統(tǒng)的ORACLE數(shù)據(jù)庫(kù)管理理念不少發(fā)生了改變,這里列舉了部分最基本的cdb和pdb管理方式2016-09-09
oracle如何使用java source調(diào)用外部程序
這篇文章主要為大家介紹了oracle如何使用java source調(diào)用外部程序,感興趣的小伙伴們可以參考一下2016-09-09
rman恢復(fù)方案和oracle異機(jī)恢復(fù)
這篇文章主要介紹了rman恢復(fù)方案和oracle異機(jī)恢復(fù),需要的朋友可以參考下2014-03-03
oracle存儲(chǔ)過程中return和exit區(qū)別概述及測(cè)試
至于return和exit在oracle存儲(chǔ)過程中的應(yīng)用,有些新手朋友們還是比較容易混淆的,本文將針對(duì)這兩個(gè)關(guān)鍵字進(jìn)行詳細(xì)對(duì)比下,感興趣的你可以參考下,希望可以幫助到你2013-02-02

