在oracle資料庫中沒有mysql中那樣的自增長,只能通過序列來實現主鍵的自動生成,下面來總結一下序列的簡單使用:
一:建立:
create sequence [user.]sequence_name
[increment by n]
[start with n]
[maxvalue n | nomaxvalue]
[minvalue n | nominvalue];
[nocycle]
increment by
:指定序列號之間的間隔,該值可為正的或負的整數,但不可為
0。序列為公升序。忽略該子句時,預設值為1。
start with
:指定生成的第乙個序列號。在公升序時,序列可從比最小值大的值開始,預設值為序列的最小值。對於降序,序列可由比最大值小的值開始,預設值為序列的最大值。
maxvalue
:指定序列可生成的最大值。
nomaxvalue
:為公升序指定最大值為
1027
,為降序指定最大值為-1。
minvalue
:指定序列的最小值。
nominvalue
:為公升序指定最小值為
1。為降序指定最小值為
-1026
。nocycle
:一直累加,不迴圈
二:修改:
altersequence [user.]sequence_name
[increment by n]
[maxvalue n| nomaxvalue ]
[minvalue n | nominvalue]
;修改序列可以:
修改未來序列值的增量。
設定或撤消最小值或最大值。
改變緩衝序列的數目。
指定序列號是否是有序。
三:刪除:
drop sequence [user.]sequence_name;用於
從資料庫中刪除一串行。
四:呼叫:
1,第一次
nextval
返回的是初始值; 2
,可以alter
除start
至以外的所有
sequence引數.
如果想要改變
start
值,必須
drop sequence
再re-create ;
3,先建立乙個序列:test_sequence;
4,select test_sequence.currval from dual //返回當前序列的值
5,select test_sequence.nextval from dual //返回序列中下乙個生成的值
Oracle中Sequence序列的使用
在oracle中sequence就是序列,每次取的時候它會自動增加。sequence與表沒有關係。1 create sequence 首先要有create sequence或者create any sequence許可權。建立語句如下 create sequence seqtest incremen...
Oracle序列的使用
oracle序列 sequence 是一種資料庫項,能夠生成乙個整數序列。通常用於填充數字型別的主鍵列。1 建立序列 create sequence sequence name start with start num increment by increment num 其中 start num ...
Oracle序列的使用
序列定義 可供多個使用者用來產生唯一數值的資料庫物件 序列特定 1.自動提供唯一的數值 2.共享物件 3.只要用於提供主鍵值 4.將序列值裝入記憶體可以提高訪問效率 建立序列 語法 create sequence 序列名 相關引數 引數說明 increment by 序列變化的步進,負值表示遞減。預...