Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Resultados diferentes segun como seleccionas

Hola, sucede de que si ejecuto el CALL seleccionando el codigo este funciona normalmente: Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Pero cuando lo ejecuto usando la opcion de ejecucion segun donde esta el cursor este realiza un comportamiento extraño, por instantes muestra el resultado normal para luego cambiar a asequible, y esto sucede en todos: Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Quisiese saber porque ocurre esto.

Le comparto código de referencia para que lo prueben y me digan su opinion sobre este raro comportamiento:

DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `precio_producto_case`(vcodigo VARCHAR(20))
BEGIN
DECLARE vresultado VARCHAR(40);
DECLARE vprecio FLOAT;
SELECT PRECIO_DE_LISTA INTO vprecio FROM tabla_de_productos 
WHERE CODIGO_DEL_PRODUCTO = vcodigo;
CASE
WHEN vprecio >= 12 THEN SET vresultado = 'Producto costoso.';
WHEN vprecio >= 7 AND vprecio < 12 THEN SET vresultado = 'Producto asequible.';
WHEN vprecio < 7 THEN SET vresultado = 'Producto barato.';
END CASE;
SELECT vresultado;
END
$$



CALL precio_producto_case('1000801');
CALL precio_producto_case('1013793');
CALL precio_producto_case('1096818');
1 respuesta

Hola Vicente, espero que este bién

Después de revisar tu código, no veo ningún problema evidente que pueda causar este comportamiento. Sin embargo, hay algunas cosas que podrías probar para solucionar el problema:

  1. Asegúrate de que estás ejecutando el procedimiento almacenado en la misma base de datos y con los mismos datos en ambas opciones de ejecución. Esto es importante para garantizar resultados consistentes.

  2. Verifica si hay algún otro código o proceso en tu base de datos que pueda estar afectando los resultados. Puedes revisar otros procedimientos almacenados, disparadores o consultas que se estén ejecutando simultáneamente.

  3. Intenta ejecutar el procedimiento almacenado en una nueva sesión de MySQL para descartar cualquier problema relacionado con la sesión actual.

Espero que esto te ayude a resolver tu problema. Si tienes alguna otra pregunta, no dudes en preguntar. ¡Buena suerte con tu aprendizaje de SQL!

Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios