MYSQL 自定义序列函数

代码如下:

DROP TABLE SEQNUM;
-- 创建序列表
CREATE TABLE SEQNUM(
ID BIGINT
);

-- 插入初识值
insert INTO SEQNUM values(0);

-- 查看序列表数据
SELECT * FROM SEQNUM;

-- 创建序列函数
DELIMITER //
CREATE FUNCTION FUNC_SEQ() RETURNS BIGINT 
BEGIN
  DECLARE a BIGINT;
  SELECT MAX(ID) FROM SEQNUM INTO a;
  SET a = a + 1;
  INSERT INTO SEQNUM VALUES(a);
  RETURN a;
END//
DELIMITER;

DROP TABLE TMP1;
-- 创建示例演示表
CREATE TABLE TMP1(
ID BIGINT,
NAME VARCHAR(20)
);

-- 使用序列函数插入数据
insert INTO TMP1 values(FUNC_SEQ(),'lzh');

-- 查看示例表数据
SELECT * FROM TMP1

 执行结果:

原文地址:https://www.cnblogs.com/simple-li/p/11905579.html