phoenix--hbase的jdbc驅動
序列(sequence)是phoenix提供的允許產生單調遞增數字的乙個sql特性,序列會自動生成順序遞增的序列號,以實現自動提供唯一的主鍵值。
使用create sequence語句建立序列的語法如下:
create sequence
[start with n]
[increment by n]
[minvalue n]
[maxvalue n]
[cycle]
[cache n]
語法結構:
引數說明:
sqe_name:序列名
increment:可選子句,表示序列的增量,正數表示生成乙個遞增的序列,負數表示生成乙個遞減的序列,其預設值是1.
minvalue:可選子句,決定序列生成的最小值
maxvalue:可選子句,決定序列生成的最大值
start:可選子句,指定序列的開始位置,預設遞增序列的起始值為minvalue,遞減序列的起始值為maxvalue.
cache:可選子句,決定是否產生序列號預分配並儲存在記憶體中。
cycle:可選關鍵字,當序列達到最大值或者最小值時,可以繼續復位下去;如果是遞增系列達到maxvalue,它將又從minvalue繼續遞增,如果是遞減系列達到minvalue,它將從maxvalue繼續遞減。如果忽略該關鍵,當其他達到最大值或者最小時仍繼續遞增/減時將會返回乙個錯誤。
例子:建立預設序列,其增量為1
create sequence my_sequence;建立乙個最小值為1,最大值為10並且能復位的序列
create sequence my_cycling_sequence minvalue1maxvalue100cycle;查詢當前序列號
select查詢當前序列的下乙個序列號current
for my_sequence;
select(next value for返回當前序列的下乙個序列號,curent value for返回當前序列號,注意:首次引用序列時,必須是next value for)next value for my_sequence;
使用upsert select語句,並為主鍵生成乙個唯一的序列值
upsert values通過current value for查詢某錶中某序列為該錶分配的最後乙個序列號into my_table(id, col1, col2) values( next value for my_schema.my_sequence, '
foo', '
bar');
selectcurrent value for my_sequence from my_tale;
Oracle中自動獲取序列sequence用法
oracle中沒有自增型別的字段的,所以通常情況下需要定義乙個sequence來作為自動增長型別欄位的資料。於是記錄了一些關於oracle sequence的資料,已備查用 oracle中的序列 sequence 1 如何定義乙個序列 僅向前的數字變數 和sql中的自動編號有點像 identity ...
Oracle中如何建立使用SEQUENCES
oracle中sequences的使用 oracle提供了sequence物件,由系統提供自增長的序列號,通常用於生成資料庫資料記錄的自增長主鍵或序號的地方.下面介紹一下關於sequence 的生成,修改,刪除等常用的操作 1.建立 sequence 使用如下命令新建sequence 使用者需要有c...
Oracle中sequenc和觸發器
oracle中的sequence即序列號,在取的時候會隨著規定增長。比如1個由1開始,每次增長1的序列號。create trigger seq user1 start with 1 increment by 1 序列號,通常被我們用於作為自動增長的id號進行使用。對於乙個user1 id,usern...