A minha saida esta em branco quando executo o msm comando que o professor executa em aula olhei umas 3 vezes e nao sei onde eu errei... Alem que o meu nos mostra o erro que é esperado de chave Na saida aparece o nome das tabelas so que nenhum item nele
CREATE 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 default 1;
declare vContador int;
declare vNumItensNota 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 vNumItensNota 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 (vNumeroNota, vProduto, vQuantidade, vPreco);
end if;
set vContador = vContador + 1;
end while;
END
call p_inserir_venda('20201104', 30, 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;