Oracle建立序列 sequence

2021-05-21 23:21:19 字數 929 閱讀 4677

oracle中的序列號顧名思義就是建立乙個序列號,可以在插入或者更新的時候呼叫,相當於是乙個生成器

建立語法:

create sequence myse

increment by 1       --增長度

start with 1         --從**增加,就是說下乙個獲取的值從這個值開始

nomaxvalue           --不設定最大值   對應的:maxvalue  30、

order                --指定一定往下增加

nocycle              --不迴圈,cycle和nocycle 表示當序列生成器的值達到限制值後是否迴圈

cache  10           --cache(緩衝)定義存放序列的記憶體塊的大小,預設為20。nocache表示不對序列進行記憶體緩衝。對序列進行記憶體緩衝,可以改善序列的效能

修改:

序列的某些部分也可以在使用中進行修改,但不能修改satrt with選項。對序列的修改只影響隨後產生的序號,已經產生的序號不變。修改序列的語法如下:

alter sequence emp_sequence

increment by 10

maxvalue 10000

cycle -- 到10000後從頭開始

nocache ;

需注意:

第一次nextval返回的是初始值;隨後的nextval會自動增加你定義的increment by值,然後返回增加後的值。currval 總是返回當前sequence的值,但是在第一次nextval初始化之後才能使用currval,否則會出錯。一次nextval會增加一次sequence的值,所以如果你在同乙個語句裡面使用多個nextval,其值就是不一樣的。

刪除:

drop sequence order_seq;

MySQL模擬Oracle序列sequence

沒發現,這麼多同學有這個需求,把文件補充一下,其實就是建立1個表,和2個儲存過程。利用表的行級鎖模擬每乙個表的序列增減。drop table if exists sys sequence create table sys sequence seq name varchar 50 not null,c...

Oracle建立序列

序列的優點 1 自動的產生唯一的資料 2 產生唯一的值,用於填充主鍵 3 可以在memory中進行快取 建立序列 create sequence increment by n 間隔 start with n 起始位 maxvalue n nomaxvalue 最大值 無限大 minvalue n 最...

Oracle建立序列

所謂序列,在oracle中就是乙個物件,這個物件用來提供乙個有序的資料列,這個有序的資料列的值都不重複。1.序列可以自動生成唯一值 2.是乙個可以被共享的物件 3.典型的用來生成主鍵值的乙個物件 4.可以替代應用程式 5.當sequence的值存放在快取中時可以提高訪問效率。create seque...