oracle中提供了sequence物件,由系統提供自增長的序列號,通常用於生成資料庫資料記錄的自增長主鍵或序號的地方.下面就主要介紹一下關於sequence物件的生成,修改,刪除等常用的操作:
1. 生成 sequence
首先使用者要有create sequence或者create any sequence許可權.然後使用下面命令生成sequence物件:
[說明]
如果指定cache值,oracle就可以預先在記憶體裡面放置一些sequence,這樣訪問的快些。cache裡面的取完後,oracle自動再取一組到cache。 使用cache或許會跳號, 比如資料庫突然不正常down掉(shutdown abort),cache中的sequence就會丟失. 所以可以在create sequence的時候用nocache防止這種情況。
一旦定義了emp_sequence,你就可以用currval,nextval 來使用 sequence:
[說明]
第一次nextval返回的是初始值;隨後的nextval會自動增加你定義的increment by值,然後返回增加後的值。currval 總是返回當前sequence的值,但是在第一次nextval初始化之後才能使用currval,否則會出錯。一次nextval會增加一次 sequence的值,所以如果你在同乙個語句裡面使用多個nextval,其值就是不一樣的。
2.修改 sequence
使用者或者是該sequence的owner,或者有alter any sequence 許可權才能改動sequence. 可以alter除start至以外的所有sequence引數.
如果想要改變start值,必須 drop sequence 再 re-create.
命令格式如下:
3. 刪除 sequence
Oracle 中的Sequence介紹
select empseq.currval from dual altersequence user.sequence name increment by n maxvalue n nomaxvalue minvalue n nominvalue 修改序列可以 修改未來序列值的增量。設定或撤消最小值...
Sequence 優先佇列
題意 給你n m的矩陣,然後每行取乙個元素,組成乙個包含n個元素的序列,一共有n m種序列,讓你求出序列和最小的前n個序列的序列和。1 include 2 include 3 include 4 include 5 include 6 using namespace std 7const int n...
xgboost簡單介紹 xgboost介紹
xgboost是華盛頓大學博士陳天奇創造的乙個梯度提公升 gradient boosting 的開源框架。至今可以算是各種資料比賽中的大殺器,被大家廣泛地運用。接下來,就簡單介紹一下xgboost和普通的gbdt相比,有什麼不同。何為gradient boosting,gbdt請看我上篇文章 1.梯...