欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle中NEXTVAL案例詳解

 更新時間:2021年08月18日 14:25:24   作者:qianyi168  
這篇文章主要介紹了Oracle中NEXTVAL案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下

1.什么是sequence?其作用是什么?

        在Oracle數(shù)據(jù)庫中,什么是序列呢?其中的作用是什么呢?其實sequence是序列號生成器,可以為表中的行自動生成序列號,產(chǎn)生一組等間隔的數(shù)值(類型為數(shù)字)。其主要的用途是生成表的主鍵值,可以在插入語句中引用,在插入之前,獲取序列號nextval值,然后進行插入。也可以通過查詢檢查當(dāng)前值,或使序列增至下一個值。

2.如何定義一個sequence?

  create sequence INR_REQUIRMENT_SQUENCE  
  INCREMENT BY 1 -- 每次加幾個
  START WITH 1 -- 從1開始計數(shù)
  NOMAXVALUE -- 不設(shè)置最大值
  NOCYCLE -- 一直累加,不循環(huán)
  CACHE 10;

    上面語句則創(chuàng)建了一個sequence?

 3.如何獲取一個sequence的值?

       SELECT INR_REQUIRMENT_SQUENCE.CURRVAL FROM dual  --獲取當(dāng)前的sequence的值,第一次NEXTVAL返回的是初始值;隨后的NEXTVAL會自動增加你定義的INCREMENT BY值, 然后返回增加后的值。CURRVAL 總是返回當(dāng)前sequence的值,但是在第一次NEXTVAL 初始化之后才能使用CURRVAL,否則會出錯。一次NEXTVAL會增加一次sequence的值, 所以如果你在同一個語句里面使用多個NEXTVAL。

4.可以在哪些地方使用Sequence?

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

- INSERT語句的子查詢中

- NSERT語句的VALUES中

- UPDATE 的 SET中

在實際開發(fā)中,比如一個表中的主鍵需要先得到主鍵ID,可以用NEXTVAL來獲下一個取序列值,然后再進行其他操作。

5.如何刪除Sequence?

         DROP sequence policy_id_seq; --policy_id_seq為sequence的名字,如果要改變sequence中的初始值,必須先刪除序列號然后再進行創(chuàng)建。你或者是該sequence的owner,或者有ALTER ANY sequence權(quán)限才能改動sequence,直接用Alter語句進行sequence的更新。   

到此這篇關(guān)于Oracle中NEXTVAL案例詳解的文章就介紹到這了,更多相關(guān)Oracle中NEXTVAL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論