Switch in Oracle

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Post Reply
lamanita
Rank: Programador Pleno
Rank: Programador Pleno
Posts: 42
Joined: Mon, 17 May 2004 2:41 pm
Location: Porto Alegre - RS
Samuel, o lamanit@

And guys, any of you already managed to do switch with plsql?

I saw an example so but it does not work ...

Select all

  function fnc_retorna_fornecedor( p_registro_lido in varchar2 ) return varchar2 is 
     lv_resultado           varchar2(1);      
  begin 
     switch( p_registro_lido ) {           
        case like '%FORNECEDORES ESTRANGEIROS%': 
           lv_resultado := 'E'; 
           break; 
        case like '%FORNECEDORES NACIONAIS - PESSOAS FISICAS%': 
           lv_resultado := 'F'; 
           break; 
        case like '%FORNECEDORES NACIONAIS - PESSOAS JURIDICAS%': 
           lv_resultado := 'J'; 
           break;                    
     } 
     return lv_resultado; 
  end; 
Thanks galera ...
lamanita
Rank: Programador Pleno
Rank: Programador Pleno
Posts: 42
Joined: Mon, 17 May 2004 2:41 pm
Location: Porto Alegre - RS
Samuel, o lamanit@

I already tried with case tb and it did not work ....

Select all

  function fnc_retorna_fornecedor( p_registro_lido in varchar2 ) return varchar2 is 
     lv_resultado           varchar2(1) := 'A';      
  begin      
     case         
        when p_registro_lido like '%FORNECEDORES ESTRANGEIROS%' then 
           lv_resultado := 'E';  
        when p_registro_lido like '%FORNECEDORES NACIONAIS - PESSOAS FISICAS%' then 
           lv_resultado := 'F'; 
        when p_registro_lido like '%FORNECEDORES NACIONAIS - PESSOAS JURIDICAS%' then 
           lv_resultado := 'J';         
     return lv_resultado; 
  end;
lamanita
Rank: Programador Pleno
Rank: Programador Pleno
Posts: 42
Joined: Mon, 17 May 2004 2:41 pm
Location: Porto Alegre - RS
Samuel, o lamanit@

It seems that only works from Oracle 9i onwards ...
AOT
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Posts: 1
Joined: Mon, 18 Aug 2008 7:12 pm
Location: SP

gokden
Rank: DBA Pleno
Rank: DBA Pleno
Posts: 264
Joined: Sun, 19 Aug 2007 8:18 pm
Location: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

Lamanite The case should work if it is done:

Select all

  function fnc_retorna_fornecedor( p_registro_lido in varchar2 ) return varchar2 is 
     lv_resultado           varchar2(1) := 'A';      
  begin      
     lv_resultado := case 
                        when p_registro_lido like '%FORNECEDORES ESTRANGEIROS%' then 
                           'E' 
                        when p_registro_lido like '%FORNECEDORES NACIONAIS - PESSOAS FISICAS%' then 
                           'F' 
                        when p_registro_lido like '%FORNECEDORES NACIONAIS - PESSOAS JURIDICAS%' then 
                           'J' 
                     end; 
     return lv_resultado; 
  end;
Here it worked = D
User avatar
dr_gori
Moderador
Moderador
Posts: 5024
Joined: Mon, 03 May 2004 3:08 pm
Location: Portland, OR USA
Contact:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Cool !!! :-O
Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 14 guests