CREATE OR REPLACE PROCEDURE calcula_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 */
DECLARE
p_id NUMBER;
p_valor_imposto FLOAT;
BEGIN
p_id := 1;
calcula_imposto(p_id => p_id, p_valor_imposto => p_valor_imposto);
DBMS_OUTPUT.PUT_LINE('P_VALOR_IMPOSTO = ' || P_VALOR_IMPOSTO);
END;