*INCORRECT NUMBER OF ARGUMENTS OFR FUNCTION sucos_vendas.sorteia_vendedor; expected 0, got 2 *
FUNCTION
CREATE DEFINER=`root`@`localhost` FUNCTION `sorteia_vendedor`() RETURNS varchar(5) CHARSET utf8mb4
BEGIN
DECLARE vReturn VARCHAR (5);
DECLARE num_max_tab INT;
DECLARE num_aleatorio INT;
SELECT COUNT(*) INTO num_max_tab FROM tabela_de_vendedores;
SET num_aleatorio = f_numero_aleatorio(1, num_max_tab);
SET num_aleatorio = num_aleatorio - 1;
SELECT MATRICULA INTO vReturn FROM tabela_de_vendedores
LIMIT num_aleatorio, 1;
RETURN vReturn;
END
PROCEDURE
DELIMITER $$
CREATE PROCEDURE `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 DEFAULT 1;
SELECT MAX(numero) + 1 INTO vNumeroNota FROM notas_fiscais;
SET vCliente = sorteia_cliente();
SET vVendedor = sorteia_vendedor();
INSERT INTO notas_fiscais
(CPF, MATRICULA, DATA_VENDA, NUMERO, IMPOSTO)
VALUES (vCliente, vVendedor, vData, vNumeroNota, 0.18);
SET vItens = sorteia_vendedor(1, max_itens);
WHILE vContador <= vItens
DO
SET vProduto = sorteia_produto();
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);
SET vContador = vContador + 1;
END WHILE;
END $$