GBase 8c 函数和操作符 - 序列函数

序列(SEQUEENCE)函数能够确保用户在序列对象获取后续的序列值时,保证多用户安全。

  •  nextval(regclass)

描述:递增序列并返回新值。

说明:

为了避免从同一个序列获取值的并发事务被阻塞,nextval操作不会回滚;也就是说,一旦一个值已经被抓取,那么就认为它已经被用过了,并且不会再被返回。即使该操作处于事务中,当事务之后中断,或者如果调用查询结束不使用该值,也是如此。这种情况将在指定值的顺序中留下未使用的“空洞”。因此,GBase 8c序列对象不能用于获得“无间隙”序列。

须知:

nextval函数只能在主机上执行,备机不支持执行此函数。

返回类型:numeric

nextval函数有两种调用方式(其中第二种调用方式目前不支持Sequence命名中有特殊字符”.“的情况),如下:

调用方式1。例如:

​gbase=# select nextval('seqDemo');

调用方式2。例如:

​gbase=# select seqDemo.nextval;

  •  currval(regclass)

返回当前会话里最近一次nextval返回的指定的sequence的数值。如果当前会话还没有调用过指定的sequence的nextval,那么调用currval将会报错。

返回类型:numeric

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值