1
resposta

[Sugestão] Alternativa de Resolução

Na minha tabela "PRODUTO_EXERCICIO" a coluna "CATEGORIA" está como "Suco de Frutas" ao invés de "Sucos", então decidi usar o LIKE

CREATE OR REPLACE FUNCTION RETORNA_IMPOSTO
(p_COD PRODUTO_EXERCICIO.COD%TYPE)
RETURN PRODUTO_VENDA_EXERCICIO.PERCENTUAL_IMPOSTO%TYPE
IS
v_CATEGORIA PRODUTO_EXERCICIO.CATEGORIA%TYPE;
v_PERCENTUAL PRODUTO_VENDA_EXERCICIO.PERCENTUAL_IMPOSTO%TYPE ;
BEGIN
    v_CATEGORIA := RETORNA_CATEGORIA(p_COD);

    IF v_CATEGORIA LIKE('%Suco%') THEN v_PERCENTUAL := 0.10;
    ELSIF v_CATEGORIA = 'Águas' THEN v_PERCENTUAL := 0.20;
    ELSIF v_CATEGORIA = 'Mate' THEN v_PERCENTUAL := 0.15;
    END IF;

    RETURN v_PERCENTUAL;
    
    EXCEPTION
        WHEN NO_DATA_FOUND THEN
            RETURN 0;
END;
1 resposta

Oi Henry, tudo bem?

Muito obrigado por compartilhar sua resolução com a comunidade do fórum. Inclusive o uso do LIKE no seu código foi bem interessante. Parabéns pela estrutura. Com certeza vai ajudar muitos alunos e alunas que estão estudando este mesmo conteúdo.

Continue se dedicando em seus estudos para aprimorar seus conhecimentos e habilidades e caso tenha dúvidas, não hesite em postar no fórum.

Abraços e bons estudos!