获取存储过程Mysql中的单个记录

获取存储过程Mysql中的单个记录,mysql,record,procedure,Mysql,Record,Procedure,我有我的程序,正在工作,但我的问题是:, 使用游标可以正常工作,但在使用游标之前,我需要一条包含多个列的记录,我不知道是否只需要为一条记录使用另一个游标 这将是在不使用光标的情况下获取单行的列的正确方法 要执行的查询是: 'SELECT id,anio,fec_iniciointeres FROM mytable WHERE id=3 ' 分隔符$$ 如果存在db.cal\U兴趣,则删除程序$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `cal

我有我的程序,正在工作,但我的问题是:, 使用游标可以正常工作,但在使用游标之前,我需要一条包含多个列的记录,我不知道是否只需要为一条记录使用另一个游标

这将是在不使用光标的情况下获取单行的列的正确方法

要执行的查询是:

 'SELECT id,anio,fec_iniciointeres FROM mytable WHERE id=3 '
分隔符$$

如果存在db.cal\U兴趣,则删除程序$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `cal_intereses`()
BEGIN
    DECLARE factura_id INT UNSIGNED;
    DECLARE val_avaluo DECIMAL(16,2);
    DECLARE fec_actual DATE;
    DECLARE done INT;
    DECLARE cur CURSOR FOR SELECT  fac_facturas.id AS factura_id, fac_facturas.val_avaluo FROM fac_facturas WHERE  fac_facturas.vigencia_id<=26 AND  fac_facturas.estado=1 AND  fac_facturas.val_avaluo>0 LIMIT 10;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
    SET fec_actual=(SELECT CURDATE());

    SET done = 0;
    OPEN cur;
    ciclo: LOOP
    FETCH cur INTO factura_id,val_avaluo;
    IF done=1 THEN LEAVE ciclo; END IF;
    DELETE FROM val_interesaux;
    IF fec_actual>='2006-07-29' THEN
    INSERT INTO val_interesaux(factura_id,fec_inicio) VALUES(factura_id,fec_actual);
    END IF;
    END LOOP ciclo;
    CLOSE cur;
    END$$

DELIMITER ;