Solución para el error 1329 de MySQL: No data – zero rows fetched, selected, or processed.
Programando una Función en Mysql para verificar los inventarios segun los movimientos que ha tenido un articulo, habia una sentencia que me marcaba este error al hacer el SELECT a la función:
No data - zero rows fetched, selected, or processed
Mi Función va algo asi:
DELIMITER $$ DROP FUNCTION IF EXISTS `elarco`.`GetExistenciaMovimientos` $$ CREATE FUNCTION `GetExistenciaMovimientos`(idp VARCHAR(45),ida INT,fechai VARCHAR(20),fechaf VARCHAR(20)) RETURNS int(11) BEGIN DECLARE ExistenciaAnterior INT; SELECT valornuevo FROM bitacora WHERE mensaje=idp AND fecha<=fechai AND tipo=CONCAT('UPDATE',ida) ORDER BY idbitacora DESC LIMIT 1 INTO ExistenciaAnterior; /** **Varios Select contando los movimientos en entradas,salidas,traspasos,ventas,etc... */ RETURN (ExistenciaAnterior+Entradas+TraspasosEntradas+AjustesInventarioEntrada)+(Salidas+TraspasosSalida+Creditos+Contados+OrdenCompra+AjustesInventarioSalida); END $$ DELIMITER ;
La cosa es que por alguna razón (encontré la solución y por tiempo ya no seguí investigando el porque, si alguien lo sabe agradecería lo comentara
) el error me salia al hacer la consulta de la Existencia anterior, y lo solucione con la siguiente sentencia una linea antes de hacer la consulta:
DECLARE CONTINUE HANDLER FOR NOT FOUND SET ExistenciaAnterior = 0;
Qudando finalmente algo mas o menos asi:
DELIMITER $$ DROP FUNCTION IF EXISTS `elarco`.`GetExistenciaMovimientos` $$ CREATE FUNCTION `GetExistenciaMovimientos`(idp VARCHAR(45),ida INT,fechai VARCHAR(20),fechaf VARCHAR(20)) RETURNS int(11) BEGIN DECLARE ExistenciaAnterior INT; DECLARE CONTINUE HANDLER FOR NOT FOUND SET ExistenciaAnterior = 0; SELECT valornuevo FROM bitacora WHERE mensaje=idp AND fecha<=fechai AND tipo=CONCAT('UPDATE',ida) ORDER BY idbitacora DESC LIMIT 1 INTO ExistenciaAnterior; /** **Varios Select contando los movimientos en entradas,salidas,traspasos,ventas,etc... */ RETURN (ExistenciaAnterior+Entradas+TraspasosEntradas+AjustesInventarioEntrada)+(Salidas+TraspasosSalida+Creditos+Contados+OrdenCompra+AjustesInventarioSalida); END $$ DELIMITER ;
Espero este breve tip haya sido de utilidad para quien tenga un problema similar; almenos en mi caso me funciono asi que si no te funciono puede que la causa sea otra diferente a la mía, intenta publicar tu caso en foros especializados donde hay mucha gente como yo dispuesta a ayudarte; te recomiendo www.cristalab.com y www.forosdelweb.com .
Related posts:
- Como traer sumatoria acumulada en MySQL La verdad es mas sencillo de lo que pensaba, gracias...
- Convertir fecha varchar a formato DateTime en Mysql En ocaciones nos encontramos con tablas donde las fechas se...
- PHP Error: A non well formed numeric value encountered Solución al Error "A non well formed numeric value encountered"...
- Como traer campos a un datagrid o gridview desde un query con la sentencia concat Les paso un tip a los que andan en las...
- ¿Error con Flick?: Seeing weird images? Please try a SHIFT+REFRESH. Juas, valla susto que me puso mi novia hoy. Me...
Related posts brought to you by Yet Another Related Posts Plugin.

















Deja tu comentario
Todos los comentarios son moderados antes de ser publicados, por lo que no debes escribir en mayusculas o palabras antisonantes.