CREATE TABLE SEQUENCE2 (
NAME VARCHAR (100) NOT NULL COMMENT '序列名',
current_value BIGINT NOT NULL COMMENT '当前值',
increment BIGINT NOT NULL DEFAULT 1 COMMENT '增长值',
PRIMARY KEY (NAME)
) ENGINE = INNODB DEFAULT CHARSET = gbk;
insert into sequence2(name,current_value,increment) values ('FL_ACCOUNT_INF_SEQUENCE',100000000001,1);
CREATE FUNCTION NEXTVAL2 (n VARCHAR(50)) RETURNS BIGINT
BEGIN
DECLARE nextVal BIGINT;
SET nextVal = (SELECT current_value + increment FROM sequence2 WHERE NAME = n);
UPDATE sequence2 SET current_value = nextVal
WHERE NAME = n;
RETURN nextVal;
END;
-- 检验
select cast(nextval2('FL_ACCOUNT_INF_SEQUENCE') as char(12));
Mysql实现Oracle序列
最新推荐文章于 2024-07-03 15:21:51 发布