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...