在存储过程Mysql中获取列单记录

时间:2017-02-14 03:34:11

标签: mysql record procedure

我有我的程序并且正在运作,但我的问题如下, 光标工作正常,但在光标之前我需要一个包含多个列的单个记录,我不知道是否只需要一个记录的另一个光标。

在没有游标的情况下获取该行的列的正确方法。

要执行的查询是:

 'SELECT id,anio,fec_iniciointeres FROM mytable WHERE id=3 '

DELIMITER $$

DROP程序如果存在dbcal_intereses $$

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 ;

0 个答案:

没有答案