DELIMITER $$
USE `moui_ms_taiwan`$$
DROP FUNCTION IF EXISTS `fn_sequence_generator`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `fn_sequence_generator`(seqName VARCHAR(50), nodeType INTEGER) RETURNS BIGINT(20)
BEGIN
DECLARE affect_rows INT DEFAULT 0;
UPDATE t_sequence
SET next_id=LAST_INSERT_ID(next_id+1),update_time=NOW()
WHERE seq_name=seqName AND node_type=nodeType AND next_id < seq_max AND STATUS=1;
SET affect_rows = ROW_COUNT();
IF affect_rows > 0 THEN
RETURN LAST_INSERT_ID();
ELSE
RETURN 0;
END IF;
END$$
DELIMITER ;
USE `moui_ms_taiwan`$$
DROP FUNCTION IF EXISTS `fn_sequence_generator`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `fn_sequence_generator`(seqName VARCHAR(50), nodeType INTEGER) RETURNS BIGINT(20)
BEGIN
DECLARE affect_rows INT DEFAULT 0;
UPDATE t_sequence
SET next_id=LAST_INSERT_ID(next_id+1),update_time=NOW()
WHERE seq_name=seqName AND node_type=nodeType AND next_id < seq_max AND STATUS=1;
SET affect_rows = ROW_COUNT();
IF affect_rows > 0 THEN
RETURN LAST_INSERT_ID();
ELSE
RETURN 0;
END IF;
END$$
DELIMITER ;