setupserialloserial是什么接口软件

int),不管是smallserial,serial还是bigserial,其范围都是(1,4775807),但是序列号类型其实不是真正的类型,当声明一个字段为序列号类型时其实是创建了一个序列,INSERT时如果没有给该字段赋值会默认获取对应序列的下一个值。

从结果中看,声明字段a为serial类型,会自动创建一个名为tbl_serial_a_seq的序列,INSERT时缺省为该序列的下一个序列值nextval。

自动创建的序列如下定义:

其实也可以先创建一个序列,然后将表的某字段默认值设为该序列的下一个序列值。

此方法和第一种直接使用serial类型效果完全相同,但是这里可以自己定义序列名称。

其实和上面使用\d一个序列时对应的,

INCREMENT BY : 每次序列增加(或减少)的步长

CYCLE : 序列是否循环使用

OWNED BY : 可以直接指定一个表的字段,也可以不指定。

获取指定序列最近一次使用netxval后的数值,如果没有使用nextval而直接使用currval会出错。
返回最近一次用 nextval 获取的任意序列的数值
设置序列的当前数值以及 is_called 标志,如果为true则立即生效,如果为false,则调用一次nextval后才会生效。

示例2:获取最近一次使用nextval的返回值

修改序列和创建序列的语法基本相同,只是用ALTER替换了CREATE,请参考

如果一个序列是NO CYCLE,当序列值全部使用完会怎样呢?

 

如果序列值用完了当然是错误了!!!如果是CYCLE则会重新从START处开始再次循环。

我要回帖

更多关于 serial是什么接口 的文章

 

随机推荐