Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Dos maneras

Al principio, no sabia como atribuir el select al valor que de N_FACTURAS que se debia mostrar. Asi que sin ver, segui mi instinto y puse:

USE JUGOS_VENTAS;
DROP PROCEDURE IF EXISTS COUNT_FACTURAS;
DELIMITER $$
USE JUGOS_VENTAS$$
CREATE PROCEDURE COUNT_FACTURAS(FECHA DATE)
BEGIN
DECLARE CANTIDAD_FACTURAS INT;
SET CANTIDAD_FACTURAS = (SELECT COUNT(*) FROM FACTURAS WHERE FECHA_VENTA=FECHA);
SELECT CANTIDAD_FACTURAS;
END$$
CALL COUNT_FACTURAS('2017-01-01');

Y salio perfecto, y al ver la respuesta, era otra forma:

DELIMITER $$
CREATE PROCEDURE `cantidad_facturas`()
BEGIN
DECLARE N_FACTURAS INTEGER;
SELECT COUNT(*) INTO N_FACTURAS FROM facturas WHERE
FECHA_VENTA = '2017-01-01';
SELECT N_FACTURAS;
END $$

CALL CANTIDAD_FACTURAS;

No sabia que eso de INTO podía asignar valores. Se uso para insertar valores en una tabla:

INSERT INTO TABLA_DE_PRODUCTOS
(CODIGO_DEL_PRODUCTO, NOMBRE_DEL_PRODUCTO, TAMANO, SABOR, ENVASE, PRECIO_DE_LISTA)
VALUES
($CODIGO,$NOMBRE,$TAMANO,$SABOR,$ENVASE,$PRECIO);

Pero no sabia que también podia asignar variables:

SELECT COUNT(*) INTO N_FACTURAS FROM facturas WHERE
FECHA_VENTA = '2017-01-01';

Bueno, siempre se aprende algo nuevo. Saludos

1 respuesta
solución!

Hola Edsel, espero que estés bien! ¡Que increible! Felicitaciones por la creatividad! Gracias por compartir tu código con nosotros. Le recomendamos que comparta su código con sus colegas en Discord, allí es posible que todos lo vean e interactúen contigo. Si tiene alguna pregunta sobre el contenido del curso, estamos aquí para ayudarlo. ¡Sigue practicando! ¡Vamos juntos! :)

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