MySQL 实现Oracle序列
2017-06-29 18:54
316 查看
表结构为:
实现currval的模拟方案
实现nextval的模拟方案
增加设置值的函数
示例:
参考:
http://www.cnblogs.com/goto/p/4126498.html
drop table if exists sequence; 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) );
实现currval的模拟方案
create function currval(v_seq_name VARCHAR(50)) returns integer begin declare value integer; set value = 0; select current_value into value from sequence where seq_name = v_seq_name; return value; end;
实现nextval的模拟方案
create function nextval (v_seq_name VARCHAR(50)) return integer begin update sequence set current_val = current_val + increment_val where seq_name = v_seq_name; return currval(v_seq_name); end;
增加设置值的函数
create function setval(v_seq_name VARCHAR(50), v_new_val INTEGER) returns integer begin update sequence set current_val = v_new_val where seq_name = v_seq_name; return currval(seq_name);
示例:
insert into sequence (seq_name, current_val) values ('seq1', 100); #获取当前值 select currval('seq1'); #获取下一个值 select nextval('seq1');
参考:
http://www.cnblogs.com/goto/p/4126498.html
相关文章推荐
- 与Oracle有所不同,ibatis中实现获取mysql自增序列值
- MySQL实现类似Oracle的序列
- MySQL实现类似Oracle的序列
- MySQL实现类似Oracle的序列
- MySQL实现类似Oracle的序列
- MySQL实现类似Oracle的序列
- MySQL实现类似Oracle的序列 - sequence
- MySQL实现ORACLE序列(Sequence)的解决方案
- MySQL实现类似Oracle序列的函数
- 在ORACLE、MSSQL、MYSQL中树结构表递归查询的实现方法
- oracle序列实现自增字段
- Oracle利用序列实现自动增长列
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能
- 3大数据库(Sql-Server,MySql和Oracle)的分页SQL语句实现
- [ORACLE]ORACLE 实现mysql中的limit 功能
- mysql模仿oracle序列
- 整理一下oracle、sqlserver、mysql的定时任务实现方法
- oracle如何实现自增?----用序列sequence的方法来实现
- sql server实现oracle序列
- MySql、SqlServer、oracle分页实现