Comigo está acontecendo o mesmo problema da pessoa do outro tópico, a tabela está em branco, não insere nenhum produto quando eu rodo o código.
REATE DEFINER=`root`@`localhost` PROCEDURE `p_inserir_venda`(vData DATE, max_itens INT, max_quantidade INT)
BEGIN
DECLARE vCliente VARCHAR(11);
DECLARE vProduto VARCHAR(10);
DECLARE vVendedor VARCHAR(5);
DECLARE vQuantidade INT;
DECLARE vPreco FLOAT;
DECLARE vItens INT;
DECLARE vNumeroNota INT;
DECLARE vContador INT ;
DECLARE vNumItensNotas INT;
SELECT MAX(NUMERO) + 1 INTO vNumeroNota FROM notas_fiscais;
SET vCliente = f_cliente_aleatorio();
SET vVendedor = f_vendedor_aleatorio();
INSERT INTO notas_fiscais(CPF, MATRICULA, DATA_VENDA, NUMERO, IMPOSTO)
VALUES(vCliente, vVendedor, vData, vNumeroNota, 0.18);
SET vItens = f_numero_aleatorio(1, max_itens);
WHILE vContador <= vItens
DO
SET vProduto = f_produto_aleatorio();
SELECT COUNT(*) INTO vItens FROM itens_notas_fiscais
WHERE NUMERO = vNumeroNota AND CODIGO_DO_PRODUTO = vProduto;
IF vNumItensNota = 0 THEN
SET vQuantidade = f_numero_aleatorio(10, max_quantidade);
SELECT PRECO_DE_LISTA INTO vPreco FROM tabela_de_produtos WHERE CODIGO_DO_PRODUTO = vProduto;
INSERT INTO itens_notas_fiscais(NUMERO, CODIGO_DO_PRODUTO, QUANTIDADE, PRECO)
VALUES(vNumero_nota, vProduto, vQuantidade, vPreco);
END IF;
SET vContador = vContador + 1;
END WHILE;
END
CALL p_inserir_venda('20190517', 3, 100);
SELECT A.NUMERO, COUNT(*) AS NUMERO_ITENS,SUM(B.QUANTIDADE * B.PRECO) AS FATURADO
FROM notas_fiscais A
INNER JOIN itens_notas_fiscais B
ON A.NUMERO = B.NUMERO
WHERE A.DATA_VENDA = '20190517'
GROUP BY A.NUMERO;