PostgreSQL基础知识--序列

2021-04-19  本文已影响0人  Amy1234567

1. CREATE SEQUENCE — 定义一个新的序列发生器。

序列名称必须与同一模式中任何其他序列、表、索引、 视图或者外部表的名称不同。

在序列被创建后,可以使用函数 nextval、 currval以及 setval来操作该序列。

可以通过select查询序列的参数以及当前状态。特别地,序列的 last_value域显示被任意会话最后一次取得的值。

my test

使用序列:

my test

2. ALTER SEQUENCE — 更改一个序列发生器的定义

my test

修改后:

my test

3. 序列主要涉及的函数

创建新的序列

my test

(1).  currval(regclass)

my test my test my test

(2).  nextval(regclass)

my test my test my test my test

(3). lastval()

my test

(4). 重置序列值

my test my test my test my test my test my test

(5). 如果当前会话还没有调用过nextval,那么调用lastval将会报错。

my test

4. 删除序列

my test

当有表字段使用到序列时,不能直接删除。

my test my test

4. 创建表的同时创建序列

my test

查看该列的属性,可以查看到自动创建的序列名为working.product_product_id_seq

my test my test my test

一个serial类型创建的序列在其所属字段被删除时,该序列也将被自动删除,但是其它情况下是不会被删除的。

删除serial类型的列,序列被自动删除

my test

删除表,序列被自动删除

my test
上一篇下一篇

猜你喜欢

热点阅读