Bom dia!
SET SERVEROUTPUT ON
CREATE OR REPLACE FUNCTION retorna_imposto (
p_COD_PRODUTO IN PRODUTO_VENDA_EXERCICIO.COD_PRODUTO%TYPE
)
RETURN PRODUTO_VENDA_EXERCICIO.PERCENTUAL_IMPOSTO%TYPE
IS
v_PERCENT_IMPOSTO PRODUTO_VENDA_EXERCICIO.PERCENTUAL_IMPOSTO%TYPE;
v_CATEGORIA PRODUTO_EXERCICIO.CATEGORIA%TYPE;
BEGIN
v_CATEGORIA := obter_categoria(p_COD_PRODUTO);
IF v_CATEGORIA = 'Sucos de Frutas' THEN
v_PERCENT_IMPOSTO := 0.1;
ELSIF v_CATEGORIA = 'Mate' THEN
v_PERCENT_IMPOSTO := 0.15;
ELSIF v_CATEGORIA = 'Águas' THEN
v_PERCENT_IMPOSTO := 0.2;
END IF;
RETURN v_PERCENT_IMPOSTO;
END;
VARIABLE g_function VARCHAR2(100);
EXECUTE :g_function:=retorna_imposto(67120);
PRINT g_function;