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
  

Poston Tue, 07 Dec 2004 3:47 pm

And then guys, some of you guys already got switch with PLSQL?

I saw an example as well but does not work ...

Code: 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 guys ...
lamanita
Location: Porto Alegre - RS


Poston Tue, 07 Dec 2004 4:35 pm

I'vê tried with CASE também and it didn't work. ...

Code: 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
Location: Porto Alegre - RS


Poston Tue, 07 Dec 2004 5:04 pm

It seems that only works from the Oracle 9i onwards ...
lamanita
Location: Porto Alegre - RS


Poston Mon, 18 Aug 2008 7:13 pm

AOT
Location: SP

Poston Tue, 19 Aug 2008 6:44 pm

Lamanite the case should work if done like this:
Code: 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
gokden
Location: Ribeirão Preto - SP

Lucas de Souza

OCA Developer
Analista de sistemas

Poston Tue, 19 Aug 2008 11:50 pm

Show de bola! :-o
dr_gori
Location: Portland, OR USA

Thomas F. G

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


  • See also
    Replies
    Views
    Last Post


Return to PL/SQL

Who is online

Users browsing this forum: No registered users and 8 guests