日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL语言之序列(Oracle)

發布時間:2025/3/20 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL语言之序列(Oracle) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

序列(sequence)

?用戶創建的數據庫對象,序列會產生唯一的整數。序列的一個典型的用途是創建一個主鍵的值,它對于每一行必須是唯一的。序列有一個Oracle內部程序產生并增加或減少。
?一個節省時間的對象,它可以減少應用程序中產生序列程序的代碼量。序列號獨立于表被存儲和產生,因此相同的序列可以被多個表使用;


一、創建序列(一般在開發中除了名字以外其他都用默認值就可以了)


?通過ddl語句創建序列

在語法中
?sequence是序列發生器的名字INCREMENT BY n指定序列號之間的間隔,n是 一個整數(如果該子句被省略,序列增量為1);

?START WITH n指定要產生的一個序列數(如果該子句被省略,序列從1開始)

?MAXVALUE n指定序列能產生的最大值、NOMAXVALUE對于升序序列指定 10^27為 最大值,對于降序序列指定-1為最大值;(這是默認選項)

?MINVALUE n指定最小序列值,NOMINVALUE對于升序序列指定1為最小值, 對于降序序列指定-(10^26)為最小值;(這是默認選項)

?CYCLE|NOCYCLE指定序列在達到他的最大或最小值之后,是否循環(NOCYCLE是默認值)

?CACHE n|NOCACHE指定Oracle服務器預先分配多少值,并且保持在內存中(默 認情況下,Oracle服務器緩沖20個值)

創建一個序列名稱為:dept_seq,增長間隔為 10,從 120 開始,最大值為 9999, 不緩存。不循環使用。Create sequence dept_seq increment by 10 start with 120 maxvalue 9999 nocycle nocache;

?通過pl/sql工具創建序列

創建一個序列名稱為:dept_seq2,增長間隔為 10,從 120 開始,最大值為 9999,不緩存。不循環使用。


二、操作序列


?查詢序列

查詢hr用戶下的所有序列的序列名稱、最小值、最大值、增長量、下一個值; Select sequence_name , min_value , max_value , increment_by , last_number from user_sequences;

?使用序列

Nextval和carrval偽列
1.Nextval返回下一個可用的序列值,它每次返回一個唯一的被引用值,及時對于不同的用戶也是如此;

2.Currval獲得當前的序列值;

3.在currval獲得一個值之前,nextval對該序列必須發布(在沒有使用過的序列的情況,在使用currval獲取當前值之前,必須先用nextval獲取一次否則會報錯);

在 location ID 2500 中插入一個新部門名稱 Support。Insert into departments values(text_seq.nextval , ‘Support’ ,null,2500);

?修改與刪除序列

1.修改序列

2.修改序列的原則
?必須是被修改序列的所有者,或者有alter權限;
?用alter sequence語句,只有以后的序列數會受影響;
?用alter sequence語句,start with選項不能被改變,為了以不同的數從新開始一個序列,該序列必須被刪除或重新創建;

將 dept_seq 序列中的增長量修改 20,最大值修改為 999999。 Alter sequence dept_seq increment_by 20 , max_value 999999 , nocycle , nocache;

3.刪除序列

刪除 dept_seq 序列; Drop sequence dept_seq;也可以右鍵指定的表點擊drop;

總結

以上是生活随笔為你收集整理的SQL语言之序列(Oracle)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。