在oracle中,可以利用CREATE SEQUENCE語句增加序列,語法為「CREATE SEQUENCE [user.]sequence_name [序號之間的間隔] [第一個序號] [可產生的最大值] [序列的最小值]」。
本教學操作環境:windows10系統、Oracle 12c版、Dell G3電腦。
CREATE SEQUENCE [user.]sequence_name 序列号之间的间隔 第一个序列号 可生成的最大值 序列的最小值
序列是一資料庫對象,利用它可產生唯一的整數。一般使用序列自動地產生主碼值。一個序列的值是由特別的Oracle程式自動生成,因而序列避免了在運用層實現序列而引起的效能瓶頸。
Oracle序列允許同時產生多個序號,而每個序號是唯一的。當一個序號產生時,序列是遞增,獨立於交易的提交或回滾。容許設計預設序列,不需指定任何子句。此序列為上升序列,由1開始,增量為1,沒有上限。
1) 建立序列指令
CREATE SEQUENCE [user.]sequence_name [increment by n] [start with n] [maxvalue n | nomaxvalue] [minvalue n | nominvalue];
INCREMENT BY: 指定序號之間的間隔,數值為正的或負的整數,但不可為0 。序列為升序。忽略該子句時,預設值為1。
START WITH:指定產生的第一個序號。在升序時,序列可從比最小值大的值開始,缺省值為序列的最小值。對於降序,序列可由比最大值小的值開始,缺省值為序列的最大值。
MAXVALUE:指定序列可產生的最大值。
NOMAXVALUE:為升序指定最大值為1027,為降序指定最大值為-1。
MINVALUE:指定序列的最小值。
NOMINVALUE:為升序指定最小值為1。為降序指定最小值為-1026。
2)更改序列指令
ALTERSEQUENCE [user.]sequence_name [INCREMENT BY n] [MAXVALUE n| NOMAXVALUE ] [MINVALUE n | NOMINVALUE];
修改序列可以:
1) 修改未來序列值的增量。
2) 設定或撤銷最小值或最大值。
3) 轉換緩衝序列的數目。
4) 指定序號是否為有序。
5) 刪除序列指令
擴充知識:
1.相同群組增加遞增的序號
語法格式:
row_number() over(partition by 分组列 order by 排序列 desc)
2.相同群組增加相同的序號
select id, dzid, dense_rank() over(order by dzid) 序号结果 from z_test;
推薦教學:《Oracle影片教學》
以上是oracle怎麼增加序列的詳細內容。更多資訊請關注PHP中文網其他相關文章!