USE `doc1vault`;
DROP procedure IF EXISTS `EIN_ACCESS1`;
DELIMITER $$
USE `doc1vault`$$
CREATE PROCEDURE `EIN_ACCESS1`(/*IN my_EIN VARCHAR(350),*/ IN my_ICODesc VARCHAR(200))
BEGIN
DECLARE finished INTEGER DEFAULT 0;
DECLARE EINLIST varchar(200) DEFAULT 0;
DECLARE cur1 CURSOR FOR SELECT * FROM vault_databases where ico_description like CONCAT('%' , my_ICODesc , '%');
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;
get_rec:LOOP
FETCH cur1 INTO EINLIST;
IF finished = 1;
SELECT 'Record Finished'; /*Gives error hewe*/
LEAVE get_rec;
END IF;
END LOOP get_rec;
END$$
DELIMITER ;
结果是
错误1328(HY000):错误数量的FETCH变量
最佳答案
是的解决方案
USE `doc1vault`;
DROP procedure IF EXISTS `EIN_ACCESS1`;
DELIMITER $$
USE `doc1vault`$$
CREATE PROCEDURE `EIN_ACCESS1`(/*IN my_EIN VARCHAR(350),*/ IN my_ICODesc VARCHAR(200))
BEGIN
DECLARE finished INTEGER DEFAULT 0;
DECLARE EINLIST varchar(400) DEFAULT 0;
DECLARE cur1 CURSOR FOR SELECT ico_index FROM vault_databases where
ico_description like CONCAT('%' , my_ICODesc , '%');
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;
OPEN cur1;
get_rec:LOOP
FETCH cur1 INTO EINLIST;
IF finished = 1 then
SELECT 'Record Finished';
LEAVE get_rec;
END IF;
END LOOP get_rec;
END$$
DELIMITER ;
关于mysql - 什么是MySQL中的dbms_output.put_line等效项或如何在MySQL中显示消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27917008/