error 1054 - Unknown column 'Y' in 'field list'
Publicado por manoat (17 intervenciones) el 05/10/2013 23:10:57
Buenas...
estoy intentando hacer un procedimiento almacenado para calcular el valor de un campo llamado TIEMPOUSO en los registros de una tabla llamada activos.. ademas de este valor calculo otras cosas pero he querido probar el codigo como va hasta el calculo del campo TIEMPOUSO...
el caso es que cuando intento actualizar los valores de la tabla me da este error.
1054 - Unknown column 'Y' in 'field list'
este es el codigo:
BEGIN
DECLARE bContinuar BOOLEAN DEFAULT true;
DECLARE VarSecuencia VARCHAR(50);
DECLARE Mensaje VARCHAR(100);
DECLARE VarValorActual DOUBLE(15,0);
DECLARE VarPorcentaje DOUBLE(15,0);
DECLARE VarValorAgregado DOUBLE(15,0);
DECLARE VarValor DOUBLE(15,0);
DECLARE VarDepAcum DOUBLE(15,0);
DECLARE VarFechaActual DATE;
DECLARE VarFechaAdq DATE;
DECLARE AnoAct INT;
DECLARE MesAct INT;
DECLARE DiaAct INT;
DECLARE Dia INT;
DECLARE Mes INT;
DECLARE Ano INT;
DECLARE AnoAdq INT;
DECLARE MesAdq INT;
DECLARE DiaAdq INT;
DECLARE cursor1 CURSOR FOR SELECT SECUENCIA, PORCDEP, VALORACTUAL, VALORAGREGADO, VALOR, FECHAADQUISICION, TOTALDEPRECIADO FROM activos;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET bContinuar = false;
SET VarFechaActual = DATE(Y-m-d);
SET AnoAct = YEAR(NOW());
SET MesAct = MONTH (NOW());
SET DiaAct = DAY(NOW());
OPEN cursor1;
REPEAT
FETCH cursor1 INTO VarSecuencia, VarPorcentaje, VarValorActual, VarValorAgregado, VarValor, VarFechaAdq, VarDepAcum;
IF bContinuar THEN
SET AnoAdq = YEAR(VarFechaAdq);
SET MesAdq = MONTH (VarFechaAdq);
SET DiaAdq = DAY(VarFechaAdq);
IF DiaAct < DiaAdq THEN
SET AnoAct = AnoAct - 1;
SET DiaAct = DiaAct + 30;
END IF;
IF MesAct < MesAdq THEN
SET MesAct = MesAct - 1;
SET MesAct = MesAct + 12;
END IF;
SET Dia = DiaAct - DiaAdq;
SET Mes = MesAct - MesAdq;
SET Ano = AnoAct - AnoAdq;
SET Mensaje = "En el inventario, El tiempo de uso es de: "|| Ano || Mes || Dia;
UPDATE prueba_procedure SET TIEMPOUSO = 'Mensaje' WHERE activos.SECUENCIA = VarSecuencia;
END IF;
UNTIL NOT bContinuar END REPEAT;
CLOSE cursor1;
SELECT 'Los datos se cargaron correctamente';
END
ayuda por favor ...
GRACIAS..
estoy intentando hacer un procedimiento almacenado para calcular el valor de un campo llamado TIEMPOUSO en los registros de una tabla llamada activos.. ademas de este valor calculo otras cosas pero he querido probar el codigo como va hasta el calculo del campo TIEMPOUSO...
el caso es que cuando intento actualizar los valores de la tabla me da este error.
1054 - Unknown column 'Y' in 'field list'
este es el codigo:
BEGIN
DECLARE bContinuar BOOLEAN DEFAULT true;
DECLARE VarSecuencia VARCHAR(50);
DECLARE Mensaje VARCHAR(100);
DECLARE VarValorActual DOUBLE(15,0);
DECLARE VarPorcentaje DOUBLE(15,0);
DECLARE VarValorAgregado DOUBLE(15,0);
DECLARE VarValor DOUBLE(15,0);
DECLARE VarDepAcum DOUBLE(15,0);
DECLARE VarFechaActual DATE;
DECLARE VarFechaAdq DATE;
DECLARE AnoAct INT;
DECLARE MesAct INT;
DECLARE DiaAct INT;
DECLARE Dia INT;
DECLARE Mes INT;
DECLARE Ano INT;
DECLARE AnoAdq INT;
DECLARE MesAdq INT;
DECLARE DiaAdq INT;
DECLARE cursor1 CURSOR FOR SELECT SECUENCIA, PORCDEP, VALORACTUAL, VALORAGREGADO, VALOR, FECHAADQUISICION, TOTALDEPRECIADO FROM activos;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET bContinuar = false;
SET VarFechaActual = DATE(Y-m-d);
SET AnoAct = YEAR(NOW());
SET MesAct = MONTH (NOW());
SET DiaAct = DAY(NOW());
OPEN cursor1;
REPEAT
FETCH cursor1 INTO VarSecuencia, VarPorcentaje, VarValorActual, VarValorAgregado, VarValor, VarFechaAdq, VarDepAcum;
IF bContinuar THEN
SET AnoAdq = YEAR(VarFechaAdq);
SET MesAdq = MONTH (VarFechaAdq);
SET DiaAdq = DAY(VarFechaAdq);
IF DiaAct < DiaAdq THEN
SET AnoAct = AnoAct - 1;
SET DiaAct = DiaAct + 30;
END IF;
IF MesAct < MesAdq THEN
SET MesAct = MesAct - 1;
SET MesAct = MesAct + 12;
END IF;
SET Dia = DiaAct - DiaAdq;
SET Mes = MesAct - MesAdq;
SET Ano = AnoAct - AnoAdq;
SET Mensaje = "En el inventario, El tiempo de uso es de: "|| Ano || Mes || Dia;
UPDATE prueba_procedure SET TIEMPOUSO = 'Mensaje' WHERE activos.SECUENCIA = VarSecuencia;
END IF;
UNTIL NOT bContinuar END REPEAT;
CLOSE cursor1;
SELECT 'Los datos se cargaron correctamente';
END
ayuda por favor ...
GRACIAS..
Valora esta pregunta


0