1
respuesta

Ayuda con el STORED PROCEDURES

Hola buen dia a todos, tengo un problema cuando ejecuto el Stored Procedures llamado sm_venta me dice que no encuentra la columna PRECIO pero revisando si esta PRECIO en mi tabla de items no se que error pudiera ser. Les comparto mi codigo del procedure

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_venta`(fecha DATE, maxitems INT, maxcantidad INT)
BEGIN
DECLARE vcliente VARCHAR(11);
DECLARE vproducto VARCHAR(10);
DECLARE vvendedor VARCHAR(5);
DECLARE vcantidad INT;
DECLARE vprecio FLOAT;
DECLARE vitens INT;
DECLARE vnfactura INT;
DECLARE vcontador INT DEFAULT 1;
SELECT MAX(NUMERO) + 1 INTO vnfactura FROM facturas;
SET vcliente = f_cliente_aleatorio();
SET vvendedor = f_vendedor_aleatorio();
INSERT INTO facturas (NUMERO, FECHA, DNI, MATRICULA, IMPUESTO) VALUES (vnfactura, fecha, vcliente, vvendedor, 0.16);
SET vitens = f_aleatorio(1,  maxitems);
WHILE vcontador <= vitens
DO
SET vproducto = f_producto_aleatorio();
SET vcantidad = f_aleatorio(1, maxcantidad);
SELECT PRECIO INTO vprecio FROM productos WHERE CODIGO = vproducto;
INSERT INTO items(NUMERO, CODIGO, CANTIDAD, PRECIO) VALUES(vnfactura, vproducto, vcantidad, vprecio);
SET vcontador = vcontador+1;
END WHILE;
END

Imagen del error: Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

Hola Evelyn, espero que estés bién!

Creo que sea porque PRECIO es de tabla items e no tabla productos, sí? Digo esto después de ver la pantalla de MySQL.

Y su código usa la tabla productos, verdad? SELECT PRECIO INTO vprecio FROM productos WHERE CODIGO = vproducto;

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