Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Função para calcular o valor do imposto

Criando a procedure

CREATE OR REPLACE PROCEDURE calculo_imposto
(    
    p_ID IN PRODUTO_VENDA_EXERCICIO.ID%type, 
    p_VALOR_IMPOSTO OUT FLOAT
)
IS
 v_PRECO PRODUTO_VENDA_EXERCICIO.PRECO%type;
 v_QUANTIDADE PRODUTO_VENDA_EXERCICIO.QUANTIDADE%type;
 v_PERCENTUAL_IMPOSTO PRODUTO_VENDA_EXERCICIO.PERCENTUAL_IMPOSTO%type;
BEGIN
    SELECT PRECO, QUANTIDADE, PERCENTUAL_IMPOSTO INTO v_PRECO, v_QUANTIDADE, v_PERCENTUAL_IMPOSTO FROM PRODUTO_VENDA_EXERCICIO WHERE ID = p_ID;
    p_VALOR_IMPOSTO:= (v_PRECO * v_QUANTIDADE) * (v_PERCENTUAL_IMPOSTO/100); 
END

Chamando a procedure

SET SERVEROUTPUT ON; 
DECLARE
 v_ID PRODUTO_VENDA_EXERCICIO.ID%type;
 v_VALOR_IMPOSTO float;
 BEGIN
 v_ID :=1;
 calculo_imposto(v_ID, v_VALOR_IMPOSTO);
 dbms_output.put_line('O imposto calculado é de R$' ||v_VALOR_IMPOSTO);
END;
1 resposta
solução!

Boa, Anne!

Você criou e chamou a procedure de forma adequada. Seu código está funcional e bem organizado, parabéns! Continue praticando e conte com o fórum quando surgirem dúvidas.

Abraços.