Oracle 、 Mysql、Guass 的 sequence

一、Oracle 本身存在 sequence 实体,可以直接创建,如:

CREATE sequence xxx_SEQ

minvalue 1

maxvalue 999999

start with 1

increment by 1

cache 20

cycle;

执行语句得到序列的下一个值:

SELECT xxx_SEQ.NEXTVAL FROM DUAL

二、MYSQL ,不存在 sequence 。 需要仿照,

1、建立一个自增表

CREATE TABLE xxx_SEQ_table (
id INT(11) NOT NULL AUTO_INCREMENT,

PRIMARY KEY (id)

) ;

2、建立一个函数

CREATE FUNCTION xxx_SEQ_nextval() RETURNS INT

BEGIN

INSERT INTO xxx_SEQ_table (id) VALUES (NULL);

RETURN LAST_INSERT_ID();

END;

3、执行语句得到序列的下一个值:

SELECT xxx_SEQ_nextval()

三、Guass,创建 sequence 与 Oracle 一样

CREATE sequence xxx_SEQ

minvalue 1

maxvalue 999999

start with 1

increment by 1

cache 20

cycle;

执行语句得到序列的下一个值:

SELECT xxx_SEQ.NEXTVAL

相关推荐
数智化管理手记10 小时前
精益生产中的TPM管理是什么?一文破解设备零故障的密码
服务器·网络·数据库·低代码·制造·源代码管理·精益工程
翊谦11 小时前
Java Agent开发 Milvus 向量数据库安装
java·数据库·milvus
難釋懷11 小时前
OpenResty实现Redis查询
数据库·redis·openresty
别抢我的锅包肉12 小时前
【MySQL】第四节 - 多表查询、多表关系全解析
数据库·mysql·datagrip
Database_Cool_12 小时前
OpenClaw-Observability:基于 DuckDB 构建 OpenClaw 的全链路可观测体系
数据库·阿里云·ai
刘~浪地球12 小时前
Redis 从入门到精通(五):哈希操作详解
数据库·redis·哈希算法
zzh08113 小时前
MySQL高可用集群笔记
数据库·笔记·mysql
Shely201713 小时前
MySQL数据表管理
数据库·mysql
爬山算法13 小时前
MongoDB(80)如何在MongoDB中使用多文档事务?
数据库·python·mongodb