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