0
respostas

Compartinhando minha solução

Segue minha solução, um pouco diferente da solução do professor, usando case:

CREATE OR REPLACE FUNCTION RETORNA_IMPOSTO
(p_COD IN PRODUTO_VENDA_EXERCICIO.COD_PRODUTO%TYPE)

RETURN PRODUTO_VENDA_EXERCICIO.PERCENTUAL_IMPOSTO%type

IS
    v_IMPOSTO PRODUTO_VENDA_EXERCICIO.PERCENTUAL_IMPOSTO%type;
    v_CATEGORIA PRODUTO_EXERCICIO.CATEGORIA%type;

BEGIN
    v_CATEGORIA := RETORNA_CATEGORIA(p_COD);
    
    CASE TRIM(v_CATEGORIA)
      WHEN  'Sucos de Frutas'   THEN    v_IMPOSTO := 10;
      WHEN 'Águas'              THEN    v_IMPOSTO := 20;
      WHEN 'Mate'               THEN    v_IMPOSTO := 15;
      ELSE v_IMPOSTO := 0;
    END CASE;
    
    RETURN  v_IMPOSTO;     

END;

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora