Phoenix--HBase的JDBC驱动

序列(Sequence)是Phoenix提供的允许产生单调递增数字的一个SQL特性,序列会自动生成顺序递增的序列号,以实现自动提供唯一的主键值。

 
使用CREATE SEQUENCE语句建立序列的语法如下:
create sequence <deq_name>
[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 MINVALUE 1 MAXVALUE 100 CYCLE;

查询当前序列号

SELECT CURRENT FOR my_sequence;

查询当前序列的下一个序列号

SELECT NEXT VALUE FOR my_sequence;

(NEXT VALUE FOR返回当前序列的下一个序列号,CURENT VALUE FOR返回当前序列号,注意:首次引用序列时,必须是NEXT VALUE FOR)

使用UPSERT SELECT语句,并为主键生成一个唯一的序列值

UPSERT VALUES INTO my_table(id, col1, col2)  VALUES( NEXT VALUE FOR my_schema.my_sequence, 'foo', 'bar');

通过CURRENT VALUE FOR查询某表中某序列为该表分配的最后一个序列号

SELECT CURRENT VALUE FOR my_sequence FROM my_tale;

Phoenix中Sequence的用法的更多相关文章

  1. 【转】Oracle数据库中Sequence的用法

    在Oracle数据库中,sequence等同于序列号,每次取的时候sequence会自动增加,一般会作用于需要按序列号排序的地方. 1.Create Sequence (注释:你需要有CREATE S ...

  2. Oracle数据库中序列(SEQUENCE)的用法详解

    Oracle数据库中序列(SEQUENCE)的用法详解   在Oracle数据库中,序列的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值.本文我们主要介绍了 ...

  3. oracle中sequence(自增序号)的用法

    转载:https://www.cnblogs.com/liuzy2014/p/5794928.html 在oracle中sequence就是序号,每次取的时候它会自动增加.sequence与表没有关系 ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. C#中string.format用法详解

    C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...

  6. SQL中distinct的用法

    SQL中distinct的用法   1.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出 ...

  7. Oracle 中 decode 函数用法

    Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译 ...

  8. jQuery中Animate进阶用法(一)

    jQuery中animate的用法你了解多少呢?如果仅仅是简单的移动位置,显示隐藏,哦!天哪你在浪费资源!因为animate太强大了,你可以有很多意想不到的用法!让我们一起研究一下吧~~ 首先要了解j ...

  9. [转载]js中return的用法

    一.返回控制与函数结果,语法为:return 表达式; 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果 二.返回控制,无函数结果,语法为:return;  在大多数情况下,为事件处理函 ...

随机推荐

  1. ecshop 管理员不需要旧密码

  2. DoTween学习笔记(二) UGUI结合使用(实现一些简单效果)

    UGUI官方实例中是使用Animation来控制UI的移动,放大缩小动画等等, Animation来控制UI的动画工作量实在是太多了, 所以我们一般使用itween,DoTween. 来控制动画, 这 ...

  3. python学习之路-3 初始python数据类型以及文件操作

    本篇涉及内容 set集合 函数 三元运算 文件操作 set集合 set是一个无序的且不重复的元素集合 1.创建set集合的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  4. 基于阿里云server搭建SVNserver

    基于阿里云server搭建SVNserver 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/8577 ...

  5. [置顶] 创建GitHub技术博客全攻略

    [置顶] 创建GitHub技术博客全攻略 分类: GitHub2014-07-12 13:10 19710人阅读 评论(21) 收藏 举报 githubio技术博客网站生成 说明: 首先,你需要注册一 ...

  6. JAVA反射机制示例,读取excel数据映射到JAVA对象中

    import java.beans.PropertyDescriptor; import java.io.File; import java.io.FileInputStream; import ja ...

  7. Linux下Ant的安装

    OS:CentOS6.3 ant版本:apache-ant-1.9.2-bin 第1步:下载ant apache-ant-1.9.2-bin.tar.gz 第2步:解压 tar -zxvf apach ...

  8. SQL:deferrable initially deferred

    SQL> create table cust(id number,name varchar2(10));Table created SQL> alter table cust add co ...

  9. ASP.NET的Application简介1

    ASP.NET中的Application 1. Application是用于保存所有用户共有的信息.在ASP时代,如果要保存的数据在应用程序生存期内不会或者很少改变,那么使用Application是理 ...

  10. nginx搭建flv、mp4流媒体服务

    1.安装pcre-8.33.tar.bz2 #tar -xvf 1.pcre-8.33.tar.bz2 #cd pcre-8.33/ #./configure #make && mak ...