-- 获取当前sequence的值 dropfunction if exists mycat_seq_curval; delimiter $ createfunction mycat_seq_curval(seq_name varchar(50)) returnsvarchar(64) charset utf-8 deterministic begin declare retval varchar(64); set reval= "-99999999,null"; select concat(cast(current_value aschar),",",cast(increment aschar)) into retval from mycat_sequence where name = seq_name; return retval; end $ delimiter;
-- 设置sequence值 dropfunction if exists mycat_seq_setval; delimiter $ createfunction mycat_seq_setval(seq_name varchar(50),valueinteger) returnsvarchar(64) charset utf-8 deterministic begin update mycat_sequence set current_value=value where name = seq_name; return mycat_seq_curval(seq_name); end $ delimiter;
-- 获取下一个sequence值 dropfunction if exists mycat_seq_nextval; delimiter $ createfunction mycat_seq_nextval(seq_name varchar(50)) returnsvarchar(64) charset utf-8 deterministic begin update mycat_sequence set current_value = current_value+increment where name = seq_name; return mycat_seq_currval(seq_name); end $ delimiter;