Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Inserir venda não esta funcionando

Revisei a aula, os códigos mas n consegui encontrar o pq esta dando esse erro 1054 - a coluna CPF n esxistir. Segue as imagens das minhas linhas de codigo.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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;

DECLARE vContador INT DEFAULT 1;

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();

   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
4 respostas

Código da função de cliente aleatorio. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Oii, Gabriel!

Você pode me falar a aula em que você está, por favor? Assim consigo te ajudar melhor. :)

Abraço!

Fico no aguardo e à disposição

Desculpaa kkkkk https://cursos.alura.com.br/course/mysql-procedures/task/56725 Procedures SQL Cap 6 - Ep 6 Inlcuindo a venda.

solução!

Bom revisei a aula e refiz o código exatamente como esta acima e foi dessa vez. Imagino q no dia eu podia nao ter criado clientes aleatorios pra conseguir inserir venda. Mas n tenho certeza.