mysql函数实现oracle的序列
2024-09-08 17:18:55
1、创建一张伪序列表
CREATE TABLE sequence (
seq_name VARCHAR (50) NOT NULL,-- 序列名称
current_val INT NOT NULL,-- 当前值
increment_val INT NOT NULL DEFAULT 1,-- 步长(跨度)
PRIMARY KEY (seq_name)
);
2、创建一个获取当前数据的函数(from 后面跟的表和上面创建的一致)
create function currval(v_seq_name VARCHAR(50))
returns integer(11)
begin
declare value integer;
set value = 0;
select current_val into value from sequence where seq_name = v_seq_name;
return value;
end;
3、创建一个获取下一条数据的函数(from 后面跟的表和上面创建的一致)
create function nextval (v_seq_name VARCHAR(50))
returns integer(11)
begin
update sequence set current_val = current_val + increment_val where seq_name = v_seq_name;
return currval(v_seq_name);
end;
4、插入一条数据
INSERT INTO sequence VALUES ('var_cash', '0', '1');
5、调用上面的函数获取相关的值
select nextval('var_cash');
select currval('var_cash');
参考:https://blog.csdn.net/sinat_19351993/article/details/47169789
最新文章
- rabbitmq安装
- 弹出框二 之 bootbox.js
- 李洪强漫谈iOS开发[C语言-046]-统计输入字符个数
- Towers of Hanoi
- HDU 4334 Trouble (暴力)
- svn 安装 、使用(1)
- 利用 Jquery Deferred 异步你的程序
- Android中解析XML的方法
- 什么是Ajax? (转载于疯狂客的BLOG)
- VS快捷键简单记录
- java基本数据类型转换成byte[]数组
- Linux 挂载NTFS文件系统
- Media Formatters媒体格式化器
- 创建DVWA环境时遇到的问题
- vue_ajax 请求
- JSON数据、PHP数组 转换 Excel表格
- python并发编程之多进程1-----------互斥锁与进程间的通信
- 深入理解RDD原理
- HDU1285 确定名次 拓扑排序
- Redis:Sentinel哨兵