mycat sequnce err.java.lang.NullPointer

本文详细介绍如何在MySQL中创建和使用自定义序列函数,包括获取当前序列值、设置序列值及获取下一个序列值的方法,适用于数据库开发人员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



DELIMITER //        //定义mysql解释器 定义结束符号为:"//"

DROP FUNCTION IF EXISTS mycat_seq_currval;

CREATE FUNCTION `mycat_seq_currval`(seq_name VARCHAR(50)) RETURNS varchar(64) CHARSET utf8
    DETERMINISTIC
BEGIN
DECLARE retval VARCHAR(64);
SET retval="-999999999,null";
SELECT concat(CAST(current_value AS CHAR),",",CAST(increment AS CHAR) ) INTO retval FROM MYCAT_SEQUENCE  WHERE name = seq_name;
RETURN retval;
END//

DROP FUNCTION IF EXISTS mycat_seq_setval;

CREATE FUNCTION mycat_seq_setval(seq_name VARCHAR(50),value INTEGER) RETURNS varchar(64) 
CHARSET utf8 
DETERMINISTIC 
BEGIN 
UPDATE MYCAT_SEQUENCE 
SET current_value = value 
WHERE name = seq_name; 
RETURN mycat_seq_currval(seq_name); 
END //

DROP FUNCTION IF EXISTS mycat_seq_nextval; 

CREATE FUNCTION mycat_seq_nextval(seq_name VARCHAR(50)) RETURNS varchar(64) CHARSET 
utf8 
DETERMINISTIC 
BEGIN 
UPDATE MYCAT_SEQUENCE 
SET current_value = current_value + increment WHERE name = seq_name; 
RETURN mycat_seq_currval(seq_name); 
END //

DELIMITER ;  


show create function mycat_seq_currval;  //查看一下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值