查询表获取自增值

2016-12-05  本文已影响0人  一块大西瓜

用于文件的浏览量,某值不重复均可

drop table if exists `sequence`;

create table sequence (

`seq_name`        VARCHAR(50) NOT NULL COMMENT '序列名称',

`current_val`    INT        NOT NULL COMMENT '当前值',

`increment_val`  INT        NOT NULL DEFAULT 1 COMMENT '步长',

PRIMARY KEY (`seq_name`) )ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='序列表';

delimiter $$

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$$

demiliter;

delimiter $$

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('seq_test1_num1');

上一篇 下一篇

猜你喜欢

热点阅读