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;