Oracle數據庫12_序列

1.什麼是序列

序列:可供多個用戶用來產生唯一數值的數據庫對象

自動提供唯一的數據

共享對象

主要用於提供主鍵值

將序列值裝入內存可以提高訪問效率

2.創建序列

創建序列用CREATE SEQUENCE語句

(1)定義序列基礎語法

在這裏插入圖片描述
【舉例】

[外鏈圖片轉存失敗(img-jXNJM6Xn-1567309255379)(C:\Users\zhangzhenquan\AppData\Roaming\Typora\typora-user-images\1567146830416.png)]
創建序dept_deptid_sql爲表departments提供主鍵。不使用cycle選項。

3.查詢序列

查詢序列用select語句

【例】查詢數據字典視圖user_sequences 獲取序列定義信息。
在這裏插入圖片描述

如果指定nocache 選項,則列Last_number顯示序列中下一個有效的值。

4.nextval和currval僞列

nextval 返回序列中下一個有效的值,任何用戶都可以引用

currval中存放序列的當前值

nextval應在currval之前指定,二者應該同時有效。

5.使用序列

(1)將序列值裝入內存可以提高訪問效率

(2)序列在下列情況下出現裂縫:

回滾

系統異常

多個表同時使用同一序列

如果不將序列的值裝入內存(nocache),可使用表user_sequences查看序列當前的有效值。

6.修改序列

修改序列的增量,最大值,最小值,循環選項或是否裝入內存

[外鏈圖片轉存失敗(img-D88VbFkf-1567309255381)(C:\Users\zhangzhenquan\AppData\Roaming\Typora\typora-user-images\1567150119654.png)]

【注意事項】

必須是序列的擁有者或對系列有ALTER權限

只有將來的序列值會被改變

改變序列的初始值只能通過刪除序列之後重建序列的方法實現。

7.刪除序列

刪除序列使用DROP SEQUENCE語句刪除序列

刪除之後序列不能被再次引用

[外鏈圖片轉存失敗(img-E6N8WAU4-1567309255381)(C:\Users\zhangzhenquan\AppData\Roaming\Typora\typora-user-images\1567150364963.png)]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章