Mysql实现序列

来源:互联网 发布:大连理工网络教育 编辑:程序博客网 时间:2024/06/10 05:15

Mysql实现序列


创建一个专门用来做序列的表:
create table sequence (         seq_name        VARCHAR(50) NOT NULL, -- 序列名称         current_val     INT         NOT NULL, -- 当前值         increment_val   INT         NOT NULL    DEFAULT 1, -- 步长(跨度)  


1.创建函数---获取当前值(v_seq_name 参数值 代表序列名称
create function currval(v_seq_name VARCHAR(50))     returns integer    begin            declare value integer;             set value = 0;             select current_val into value  from sequence where seq_name = v_seq_name;      return value;   end;  

select currval('
序列名称');  


2.创建函数--获取下一个值(v_seq_name 参数值 代表序列名称
create function nextval (v_seq_name VARCHAR(50))      returns integer  begin      update sequence set current_val = current_val + increment_val  where seq_name = v_seq_name;      return currval(v_seq_name);  end;  

select nextval('序列名称');  



select nextval('序列名称');  
1 0
原创粉丝点击