PolarDB PostgreSQL版(以下简称 PolarDB-PG)是一款阿里云自主研发的企业级数据库产品,采用计算存储分离架构,兼容 PostgreSQL 与 Oracle。PolarDB-PG 的存储与计算能力均可横向扩展,具有高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB-PG 具有大规模并行计算能力,可以应对 OLTP 与 OLAP 混合负载;还具有时空、向量、搜索、图谱等多模创新特性,可以满足企业对数据处理日新月异的新需求。
Sequence 组合使用场景
SEQUENCE 除了作为一个独立的对象时候以外,还可以组合其他 PostgreSQL 其他组件进行使用,我们总结了一下几个常用的场景。
显式调用
CREATE SEQUENCE seq;
CREATE TABLE tbl (i INTEGER PRIMARY KEY);
INSERT INTO tbl (i) VALUES (nextval('seq'));
SELECT * FROM tbl ORDER BY 1 DESC;
tbl
---------
1
(1 row)
复制
触发器调用
CREATE SEQUENCE seq;
CREATE TABLE tbl (i INTEGER PRIMARY KEY, j INTEGER);
CREATE FUNCTION f()
RETURNS TRIGGER AS
$$
BEGIN
NEW.i := nextval('seq');
RETURN NEW;
END;
$$
LANGUAGE 'plpgsql';
CREATE TRIGGER tg
BEFORE INSERT ON tbl
FOR EACH ROW
EXECUTE PROCEDURE f();
INSERT INTO tbl (j) VALUES (4);
SELECT * FROM tbl;
i | j
---+---
1 | 4
(1 row)
复制
DEFAULT 调用
显式 DEFAULT
调用:
CREATE SEQUENCE seq;
CREATE TABLE tbl(i INTEGER DEFAULT nextval('seq') PRIMARY KEY, j INTEGER);
INSERT INTO tbl (i,j) VALUES (DEFAULT,11);
INSERT INTO tbl(j) VALUES (321);
INSERT INTO tbl (i,j) VALUES (nextval('seq'),1);
SELECT * FROM tbl;
i | j
---+-----
2 | 321
1 | 11
3 | 1
(3 rows)
复制
SERIAL
调用:
CREATE TABLE tbl (i SERIAL PRIMARY KEY, j INTEGER);
INSERT INTO tbl (i,j) VALUES (DEFAULT,42);
INSERT INTO tbl (j) VALUES (25);
SELECT * FROM tbl;
i | j
---+----
1 | 42
2 | 25
(2 rows)
复制
注意,SERIAL
并不是一种类型,而是 DEFAULT
调用的另一种形式,只不过 SERIAL
会自动创建 DEFAULT
约束所要使用的 Sequence。
AUTO_INC 调用
CREATE TABLE tbl (i int GENERATED ALWAYS AS IDENTITY,
j INTEGER);
INSERT INTO tbl(i,j) VALUES (DEFAULT,32);
INSERT INTO tbl(j) VALUES (23);
SELECT * FROM tbl;
i | j
---+----
1 | 32
2 | 23
(2 rows)
复制
AUTO_INC
调用对列附加了自增约束,与 default
约束不同,自增约束通过查找 dependency 的方式找到该列关联的 Sequence,而 default
调用仅仅是将默认值设置为一个 nextval
表达式。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年2月国产数据库大事记
墨天轮编辑部
959次阅读
2025-03-05 12:27:34
阿里云李飞飞:将大模型,装进数据库里
科技行者
392次阅读
2025-02-28 11:47:59
云和恩墨亮相PolarDB开发者大会,与阿里云深化数据库服务合作
云和恩墨
299次阅读
2025-02-28 09:31:16
神州数码携手云原生数据库 PolarDB,共筑国产数据库新生态
神州数码集团
167次阅读
2025-03-03 18:04:27
IDC:2024上半年中国分布式事务数据库软件市场规模为1.5亿美元,同比增长18.5%,阿里、腾讯与华为位列前三
通讯员
160次阅读
2025-03-03 10:01:48
阿里云Tair KVCache:打造以缓存为中心的大模型Token超级工厂
阿里云瑶池数据库
81次阅读
2025-03-25 10:37:41
阿里云PolarDB重磅发布云原生与Data+AI新特性,打造智能时代数据引擎
阿里云瑶池数据库
48次阅读
2025-02-28 14:54:31
正式公测|阿里云数据库Tair Serverless KV,轻松应对流量波动
阿里云瑶池数据库
46次阅读
2025-03-05 11:09:23
庖丁解InnoDB之B+Tree (三)
olep
42次阅读
2025-03-04 11:14:02
阿里云谈AI下半场 数据库已经开始比拼性价比
通讯员
41次阅读
2025-03-06 09:56:21