1.什麼是序列
序列:可供多個用戶用來產生唯一數值的數據庫對象
自動提供唯一的數據
共享對象
主要用於提供主鍵值
將序列值裝入內存可以提高訪問效率
2.創建序列
創建序列用CREATE SEQUENCE語句
(1)定義序列基礎語法
【舉例】
創建序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.修改序列
修改序列的增量,最大值,最小值,循環選項或是否裝入內存
【注意事項】
必須是序列的擁有者或對系列有ALTER權限
只有將來的序列值會被改變
改變序列的初始值只能通過刪除序列之後重建序列的方法實現。
7.刪除序列
刪除序列使用DROP SEQUENCE語句刪除序列
刪除之後序列不能被再次引用